Сравнение производительности Nginx и Lighttpd
Сделали ради интереса небольшой тест производительности двух легких и быстрых вебсерверов (nginx и lighttpd).
Результаты
Результаты по скорости примерно одинаковы. На конфиге по умолчанию лайти немного проигрывал nginx’у и на больших и на маленьких файлах. После отключения лишних модулей и добавления пары опций (см. конфиг вверху страницы) лайти на небольших файлах начал выигрывать.
Пример работы программы ab -c 10 -n 100000 http://127.0.0.1/test_ind.html -
nginx маленький html файл выдал 28488.55 запросов в секунду.
А лайти, — lighttpd маленький html файл выдал 29411.67 запросов в секунду.
После проведения серии тестов (каждый тест мы запускали 3 раза и брали среднее арифметическое значение), были получены следующие результаты:

Как видно из таблицы nginx немного выигрывает на больших файлах а лайти на маленьких. ИМХО, разница в скорости совершенно несущественна. Поэтому выбор веб-сервера для статики (или проксирования) следует делать из других соображений. Мы используем оба веб-сервера и особых нареканий нет ни к тому ни к другому. К плюсам nginx стоит отнести более активную разработку и немного меньшую нагрузку на процессор при проведении тестов.
Конфигурация:
Конфиг lighttpd:
server.modules = ( ) server.document-root = "/work/htdocs/" server.upload-dirs = ( "/var/cache/lighttpd/uploads" ) server.errorlog = "/var/log/lighttpd/error.log" server.pid-file = "/var/run/lighttpd.pid" server.username = "www-data" server.groupname = "www-data" server.port = 81 #server.bind = "localhost" index-file.names = ( "index.php", "index.html", "index.lighttpd.html" ) url.access-deny = ( "~", ".inc" ) static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" ) compress.cache-dir = "/var/cache/lighttpd/compress/" compress.filetype = ( "application/javascript", "text/css", "text/html", "text/plain" ) server.event-handler = "linux-sysepoll" server.network-backend = "linux-sendfile"
Конфиг nginx:
user www-data;
worker_processes 2;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
multi_accept on;
use epoll;
}
http {
include /etc/nginx/mime.types;
access_log /var/log/nginx/access.log;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 0;
tcp_nodelay on;
gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
include /etc/nginx/conf.d/*.conf;
}
Компьютер использованный в тестировании — AMD Phenom(tm) II X2 550 Processor с 4 Gb памяти.
Comments
Оба сервера не вели логов.
У lighttpd отключен mod_access у nginx вот такой конфиг для директивы server (отключены логи)
-
location / { root /work/htdocs; index index.html index.htm; autoindex on; access_log off; }Но что интересно прирост после отключения логов не ощутим (данных нет, но разница была в рамках погрешности).
Nice weblog here! Additionally your site rather a lot up very fast! What host are you the usage of? Can I get your affiliate link on your host? I desire my website loaded up as quickly as yours lol bcbsnc dental
Comment form for «Сравнение производительности Nginx и Lighttpd»