|How much can my server handle?|
How long before I need a new server
| 11:00 am on Jul 29, 2004 (gmt 0)|
I have a very busy website on a dedicated RH Linux box. The site is about to double in size overnight and we're expecting a large increase in traffic. I'd like to know how you guys work out how much your server can handle. I'd like to be able to see the warning signs and upgrade before the box slows to a crawl.
I'm not talking about bandwidth here as I have a good handle on that side of things, it's server performance that I need to be able to measure / predict.
Any help appreciated.
| 11:53 am on Aug 2, 2004 (gmt 0)|
| 12:25 pm on Aug 2, 2004 (gmt 0)|
I presume you have tried typing 'top' (without apostrophe's) into your terminal to see what current server load is like?
If not do it immediately! This will show you current load levels - try it at your sites busiest point. This will give you a good indication of how much stress your site is under at peak times.
If there is quite a load the top display may show server processes that are running that are not required so you may be able to save some processor power by turning these services off.
If load is heavy then consider getting your server host to add more ram or go for a complete serrver upgrade.
| 12:32 pm on Aug 2, 2004 (gmt 0)|
Thanks for your help, and thanks Dave for bumping the thread.
I monitor the system at peak times and it's dealing with everything well at the moment. I suppose what I'm asking for is some kind of formula for working out how much it can realistically handle based on different traffic scenarios and the machine spec.
| 11:29 am on Aug 3, 2004 (gmt 0)|
Maybe the best ones to ask would be your server hosts, if they have many machines then they may be able to compare the load on yours with others on their network?
If this is an in house server you could always set up another machine in the office to request pages from it at a high rate and see how it performs. Preferably during low traffic times!
Sorry could not be more specific here - bit of a server n00b to be honest but loving learning about it. I also feel that sevrer performance will come down to the individual components, amount of RAM, processor type and speed and do not forget the sizer of your pipe! If your server is only on a 1M connection and you have a lot of downloads or lots and lots of traffic that could slow down the performance of the site without causing a load on the server.
Hope this is of some help.
| 12:37 pm on Aug 3, 2004 (gmt 0)|
|bit of a server n00b to be honest |
Your suggestions were right on the mark!
There are many factors that affect how well a server can scale.
One factor I most commonly see left out in questions like this involves the content itself. Is it dynamic (asp/php/jsp/etc) or just raw html that this server is pumping out? If it is dynamic, how "well" is the code written? Scripts written without much regard to using as little resources as possible are not as scalable as cleanly designed pages intended to scale. Is there a database? That could be a limiting factor as well, in many ways. The database application itself may be just fine, but the way the data is queried may not be very effecient. On the other hand, you could have the best written queries (and indexes) in the world, but if the database application is not properly tuned, that can be the death of a server once real load hits.
If your site is just HTML, servers usually can scale quite well, usually way past what many people may expect. There are load testing tools available to see what the limits actually are. It gets more complex with dynamic pages, because really you are then testing an application, and not just a web server.
The real trick is to identify your bottlenecks, which is not always easy, then develop a plan from there accordingly.
| 2:32 pm on Aug 6, 2004 (gmt 0)|
There are also many performance tweaks you can do, some generic such as adding the noatime attribute on website/database files and others that are more specific to your particular needs such as configuring the database server to best deal with the type of hardware and data you are using.