The first step toward sizing your server is to determine your requirements. Performance means different things to users than it means to webmasters. Users want fast response times (typically less than 100 milliseconds), high availability (no “connection refused” messages), and as much interface control as possible. Webmasters and system administrators, on the other hand, want to see high connection rates, high data throughput, and uptime approaching 100%. In addition, for virtual servers the goal might be to provide a targeted level of performance at different price points. You need to define what performance means for your particular situation.
Here are some areas to consider:
The number of peak concurrent users
Security requirements
Encrypting your Web Server’s data streams with SSL makes an enormous difference to your site’s credibility for electronic commerce and other security conscious applications, but it can also seriously impact your CPU load. For more information, see SSL Performance.
The size of the document tree
Dynamic or static content
The content you serve affects your server’s performance. A Web Server delivering mostly static HTML can run much faster than a server that must execute CGIs for every query.