У меня первая попытка стресс-тестирования простого веб-приложения django, запущенного из gunicorn и nginx, которое я установил на небольшой сервер Rackspace Cloud объемом 256 МБ.
Используя httperf, я увеличиваю количество подключений в секунду, пока не начну получать ошибки, например.
httperf --hog --server=localhost --uri=/myapp --timeout=10 --num-conns=2500 --rate=25
Я обнаружил, что для простой почти статической страницы из django я могу получить около 35 запросов в секунду до того, как начнут выдавать ошибки.
Для более динамичной страницы, требующей поиска в базе данных и некоторой дополнительной обработки, я могу получить около 25 запросов в секунду.
Первоначально я использовал только 1 воркера-пулеметчика, но увеличение до 4 воркеров (я думаю, что у моего облачного сервера 4 ядра), похоже, не имело никакого значения (он по-прежнему начинает выдавать ошибки выше 25 запросов в секунду).
Эти результаты звучат примерно так, как ожидалось, учитывая, что он работает на таком маленьком (256 МБ) сервере?
Кроме того, могу ли я внести какие-либо изменения для повышения пропускной способности?