ANR is getting a new webserver- and we're making a BIG upgrade.
The current ANR webserver churns along all day, every day- serving up a lot of web pages. In fact, we server up more pages that we can really count. A conservative estimate from 2009 shows our web server delivering over 113 million pages.
That equals about 310,000 per day. Or 12,916 per hour. Or 215 per minute. Or 3.5 per second.
Honestly, serving up 3.5 pages per second is not a big deal. But these 'average' numbers don't reflect the reality of the traffic we get. For instance, most of this traffic comes during the 12 hour period of 6am to 6pm- making us much busier during those hours. And everything happens in bursts. The server may sit idle for entire SECONDS, then serve up hundreds of pages in a quick burst.
You get the idea. Our server does a lot, and we need good hardware to make it happen. Unfortunately our hardware is no longer up to the task, and we've been having slow-downs, crashes, etc. So it's time to upgrade.
Let's go inside the server room and see what's going on.
When you get inside the server room, there is a good chance you'll find Blaine Sullivan taking care of things. Blaine's job is to make sure all of the lights are blue, instead of red.
So now that we're in the server room, let's take a look at the hardware specifications of the old vs. new server.
Old webserver configuration:
2 Intel Xeon E5310 quad core processors running at 1.6GHz
4 GB of RAM
850 GB of usable disk space
Above you can see a representation of our current server load. Things aren't looking too bad, but this doesn't display the bursts of activity we get.
New webserver configuration
2 Intel E5520 eight-core processors running at 2.27 GHz
12 GB of RAM
4 TB of usable disk space (Terabytes)
High Points: We've gone from 4 GB of memory to 12. But that's not the half of it. We've gone from 1 GB of useful memory to 10GB. That's a whole heck of a lot more. We've gone from 8 cores at 1.6GHz to 16 cores at 2.27GHz. (or 12.8 GHz to 36.32 GHz in a simplistic manner) And lastly, we've got about 5 times as much disk space.
The disk space
One of the primary upgrades we have made is in the way we access the hard drives.
The old method is pretty much standard for servers- the hard disks (5 in the case of our old server) are housed in the server itself, set up in a RAID 5 configuation.
Now we are utilizing a Storage Area Network (SAN). This houses the hard drives in a separate box from the rest of the computer. There are many advantages to this method, but the most important is preparing us for future growth.
With a SAN, any time we need to add more space to our server, we just add more drives. We can automatically 'grow' the space available for our systems. This is future-proofing. If I want to add 3 more Terabytes next year, we can just buy new drives and slap them into the case. (Blaine may tell you it is more difficult than that, but let's just ignore the technical part for now. Besides, I think he just changes out the lightbulbs from red to blue, rather than fixing anything.) This means we won't need to 'rebuild' the server just to expand our capacity.
Fun-fact: The ANR Repository houses over 150 GB of data. And we're just getting started! We want Terabytes people, TERABYTES!
Alex likes Terabytes. He also likes pterodactyls and motorcycles. Alex makes things look pretty for us, but we occasionally find him drawing on his monitor.
Lastly, we need to talk about software, because that is also a big part of this upgrade.
Our old server runs on a 32 bit version of Windows Server 2003. (That seemed so shiny and new at the time...) Our new server is running 64 bit Windows Server 2008 R2. This gives us huge advantages in how much memory we can use.
Also, we have upgraded our application server from ColdFusion 8/standard to ColdFusion 9/enterprise.
This is a really, really big deal. This new version will allow the server to handle a lot more stuff at the same time. In the old version, we could do ONE thing at a time. For instance, we could process ONE picture at a time. Or convert ONE document to PDF at a time. Even for things that only take a few seconds, things start to pile up. Remember, we can get dozens of requests in a second- if 5 of them want to do the same thing, and that 'thing' takes 5 seconds, the system gets clogged. So being able to do an 'unlimited' number of things concurrently, means fewer bottlenecks, fewer slowdowns, and more things happening!
Thanks- The Web Action Team.