How much traffic can a 1u rack Server handle
Posted on Oct 8, 2009 by
Paul WhiteBeing that I am on the verge of colocating my own box. This is one of
the many questions I have asked myself.
So lets do a little math
How much transfer can a single 100 Mbit port handle?
100 Mb / 8 bits per byte = 12.5 MB/sec
12.5 MB/sec * 60 seconds per minute = 750 MB/minute
750 MB/minute * 60 minute per hour = 45000 MB/hour ( or 45 GB/hour )
45 GB/hour * 24 hours per day = 1080 GB/day ( or 1.08 TB/day )
1.08 TB/day * 30 days per month = 32.4 TB/month
Now can a single 1U rack server max out the 100Mbit port?
The answer depends on what kind of content you are serving.
If your server is
hosting single files that are small enough they can be cached to the RAM, the answer is yes.
If your server is going to be like mine, running
MySQL 5,
asp.net,
SmarterMail, SmarterStats, IIS 7.5, the answer is most likely no. The limits of a server are based on its purpose. If you have code fully of bugs, you will be lucky to run a website up to 100 GB / month. However if you heavily optimize your code, streamline your SQL queries, Cache objects to Memory, and provide plenty of memory for your system to play with, then you could get somewhat close to the limit.
Every Major website had growing pains ( YouTube, FaceBook, MySpace, PlentyoFish ), They overcame this buy adding more servers to the racks. But when you are running on a single server, the thought of having to get another one, and park them behind a load balancer doesn't sound appealing. Now you have to pay for two servers in
colocation, not to mention rethink the architecture of your
websites to use multiple servers. So here is my own list of suggestions if your server is slowing down.
Upgrade to SAS drives on RAID
If your server is running
SATA drives, this is a problem. I highly recommend you consider upgrading your storage to 15K
SAS drives with
RAID 10. This will ensure you get the performance from striping and the redundancy from mirroring. Only problem is this requires 4 disks, and most 1U rack servers only have room for 2-3 drives. Another option is
RAID 1E. Which is like
RAID 10 for 3 drives, but only a limited number of
RAID cards support
RAID 1E.
Get a Decent RAID card
Do not rely on the built in
RAID controller, or software based
RAID. Make sure you get a real
RAID card, and not some add-on card. Also I would recommend you find a card that has at least 256 MB of RAM built into it. These cards don't go cheap. They start around $300 and go up from there.
MAX out your RAM
Even if your system is only using 2 GB of the 4GB you have snapped into the slots. Max out your memory, then increase the query cache size on your DB server.
Optimize your code!
For the programmers out there, do some research on how to optimize your code. Little things like updating your website to use an external
CSS for styling, and disabling viewstates on pages that don't need it can shave Gigabytes of transfer off your total each day. Cache reused objects to the server's memory.
Give every site their own App pool
One thing that is nice about Server 2008 is it gives everyone their own APP pool by default. This is more efficient because a single App pool can not make use of multi core processors. Especially on Dual Quad core machines where you have 16 threads doing work. Its just too bad that
MySQL can't be broken up into App Pools where each DB instance can get its own Process. Maybe this is something we will see in the future.
Discussion
No Comments have been submitted