Тесты производительности: nginx, cherokee, lighttpd
Закончил тестировать производительность трех вышеперечисленных веб-серверов для раздачи статики. Это часть моих экспериментов по исследованию работы кэширующего распределенного кластера. Ставлю разные веб-сервера, сравниваю настройки, производительность и всякое такое.
Сегодняшний стенд — мой домашний роутер:
CPU: Intel(R) Pentium(R) 4 CPU 2.66GHz (2666.78-MHz 686-class CPU)
real memory = 1073741824 (1024 MB)
D-Link DGE-530T Gigabit Ethernet
FreeBSD hasp.vzletka.net 8.1-STABLE FreeBSD i386
Проверяю достаточно стандартным средством:
mult@multop:~$ ab -c 190 -n 50000 192.168.1.254:80/error404.jpg
Понеслось:
Server Software: lighttpd/1.4.29
Server Hostname: 192.168.1.254
Server Port: 80
Document Path: /error404.jpg
Document Length: 22830 bytes
Concurrency Level: 190
Time taken for tests: 118,479 seconds
Requests per second: 423,896 [#/sec] (mean)
Transfer rate: 9548,873 [Kbytes/sec] received
далее,
Server Software: Cherokee/1.2.2
Server Hostname: 192.168.1.254
Server Port: 81
Document Path: /error404.jpg
Document Length: 22830 bytes
Concurrency Level: 190
Time taken for tests: 120,629 seconds
Requests per second: 415,11 [#/sec] (mean)
Transfer rate: 9336,393 [Kbytes/sec] received
и наконец третий участник:
Server Software: nginx/1.0.8
Server Hostname: 192.168.1.254
Server Port: 82
Document Path: /error404.jpg
Document Length: 22830 bytes
Concurrency Level: 190
Time taken for tests: 121,489 seconds
Requests per second: 412,483 [#/sec] (mean)
Transfer rate: 9282,033 [Kbytes/sec] received
Небольшое замечание: самую большую нагрузку на процессор создал Cherokee. Все три веб-сервера запущены на одной машине. Тесты запускал несколько раз по очереди. Больших различий в результатах небыло.
Надо было бы еще Apache попробовать, но вряд ли бы результаты у него были хорошими, да и прожорливый он очень. К тому же, он не позиционируется как реверс-прокси или кеширующий веб-сервер — поэтому в моем тестировании web-серверов он не учавствовал. Еще не измерял скорость php-скриптов, потому что это было бы скоростью исполнения самого php.
Все три веб-сервера поддерживают кеширование и проксирование с распределением нагрузки между backend’ами. Все три имеют вменяемые конфиги. Может nGinx и показал бы самые высокие результаты, но его надо уметь готовить. А из коробки все вот так как есть. Будут еще интересные результаты — обязательно поделюсь.
Ну и напоследок:
Зарабатывая неплохо трудно накопить на собственное жилье без помощи. Но есть такая штука как квартира в кредит — купил сейчас, живешь сейчас, а платишь потом. Главное силы свои рассчитать.
Немецкие авто очень надежные, но даже им требуется обслуживание. Но мы уже знаем где сделать ремонт двигателя фольксваген из интернета. Ездите и не ломайтесь.