I have a website hosted on a VPS (512Mb - minimum guranteed memory, 510Mhz proccessor, Debian 5.0 Lenny, Apache 2.2.9 with nginx 0.7.65 as a frontend to serve static content, MySQL 5.1.44, PHP 5.3.2 with APC caching).
I'm a web developer, so I'm not very good at optimizing servers, but I've managed to install and setup all those neccessary components (LAMP, nginx, etc.). After that I decided to stress test my website (which uses Drupal 6.16 with caching and all possible optimization enabled) using a utility called "Webserver Stress Tool 7". And it seems to me that the results aren't any good - here is a graph (sorry, as a new user I'm not allowed to post images)
As you can see the response time depending on amount of simultaneous users increases very quickly. With 10 simultaneous users the time is about 1000ms, with 100 simultaneous users it's about 15000ms (15s!).
The question is do you think this is normal behavior for such a server or something is wrong with the settings and optimization? If you think something is wrong what particulary could be wrong? Any other suggestion how to speed this a little bit up?
Best place to start would be to install something like munin to graph the resource usage on the system, then you can better estimate how the resources are used.
That said, the drupal default is to use the database as a cache store, you should be able to get better performance allocating some of the cache to files/ram.
You should try to measure how time your spending on:
To do that, simply logging the start time and end time of different part of your pages to a log file should be enough.
You can also check where is the bottleneck as far as ressources. With "top", you can check:
You can get more info with "sar" or "vmstat 2".
I think this will be very helpfull
http://code.google.com/intl/es-ES/speed/page-speed/
check also the videos! There is a firefox plugin you should check. And you will need some php acelerator like apc (http://en.wikipedia.org/wiki/PHP_accelerator)