Anandtech Servers

Skawttey

Senior member
Mar 1, 2002
244
0
0
I think this is the appropriate forum to post this in, if not, feel free to lock.

I do not have much experience on the server side of things, and i was reading the server upgrade articles for anand tech and have a couple questions. What exactly is a database server used for? I believe the article said it uses one to run the forums, but how does it work? Each of the webservers only has 20 gb drives, that is enough to host the main content of the site? Is there more storage someehere? I saw the 6 drive RAID for the forum servers, but is there another one of these for the site? Since there are multiple web servers and multiple forum servers, is the content on each of the forum and web servers identical? Thanks for clearing any of this up.
 

CTho9305

Elite Member
Jul 26, 2000
9,214
1
81
the forum information is stored in a database (posts, threads, users, etc). the webserver queries this database to put togehter pages. When you request a thread, the webserver figures sends a query to the database server which returns stuff (like the contents of a message, etc). the webserver then puts that informaiton into a pretty format (the tables you see) and way to navigate.

The reason the db server is separate is for speed. a big database requires a lot of power if you want it to be fast. You could probably cut the webserver hard drives down to OS minimum plus a couple hundred meg for images and the actual HTML/cfm/whatever format you use.
 

Buddha Bart

Diamond Member
Oct 11, 1999
3,064
0
0
AT uses Cold Fusion to pull its pages together.

For instance, in the forums look up at the URL.
catagories.cfm
messageview.cfm
messagepost.cfm
are the three scripts that are the bread and butter of the anantech forums. They contain the programming to make a connection to the database, pull out the messages in a given thread, wrap it in the neccisary HTML, include the CSS up top, and the javascript, and spit it out to the browser.
So its the webservers job to run the copy of cold fusion, which interprets/executes these scripts when the browser requests them, and sends the reply.
Its the database servers job to just sit there until someone asks it an SQL query, and reply with thier results.

If you look at the main AT site, there's a similar setup where
index.html
showdoc.html
(btw, these are named .html but they are still coldfusion files, you can tell the webserver to prosses *.html, *.cfm, or even *.yourmom if you felt like it)
provide the "wrapper" or "view" for the page, and depending on what variables they are passed pull up the appropriate listings or articles(like showdoc.html?i=1675&p=2 gives you the second page of a recent buyers guide article).

The forums servers are in a world of hurt, and I'd be real curious to see why some sort of load distribution/replication setup isn't in use (can SQL Server do that?).

Most of the images for the main AT site come from a seperate image server. This is because the needs of generating the articles with cold fusion and the database calls are very different from the need of caching a large number of images and just spitting them out, no proccessing needed.

Overall they have a really beefy setup.. but its step by step evolution have left it with some major bottlenecks and single points of failure. It'd be interesting to see what some kind of caching system could do to comletely decimate the number of webservers needed, and what some sort of replication setup could do to alleviate all the forums scalability problems (not to mention high-availability).

bart