вопрос установки nginx - PullRequest
       34

вопрос установки nginx

8 голосов
/ 24 сентября 2008

Я знаю, что это не вопрос программирования, но люди из stackoverflow, похоже, могут ответить на любой вопрос.

У меня есть сервер под управлением Centos 5.2 64 бит. Довольно мощный двухъядерный сервер 2 с 4 ГБ памяти. Он в основном обслуживает статические файлы, флеш и картинки. Когда я использую lighttpd, он легко обслуживает более 80 МБ / с, но когда я тестирую с помощью nginx, он падает до менее чем 20 МБ / с.

Моя настройка довольно проста, использует файл установки по умолчанию, и я добавил следующее

user  lighttpd;
worker_processes  8;
worker_rlimit_nofile 206011;
#worker_rlimit_nofile 110240;

error_log   /var/log/nginx/error.log;
#error_log  /var/log/nginx/error.log  notice;
#error_log  /var/log/nginx/error.log  info;

pid        /var/run/nginx.pid;


events {
    worker_connections  4096;
}

http {
....

keepalive_timeout  2;
....
}

И я подумал, что nginx должен быть по крайней мере настолько же мощным, поэтому я, должно быть, ничего не делаю.

Ответы [ 3 ]

6 голосов
/ 01 октября 2008

Когда вы перезагрузите свой nginx (kiil -HUP), вы получите что-то подобное в журналах ошибок

2008/10/01 03:57:26 [notice] 4563#0: signal 1 (SIGHUP) received, reconfiguring
2008/10/01 03:57:26 [notice] 4563#0: reconfiguring
2008/10/01 03:57:26 [notice] 4563#0: using the "epoll" event method
2008/10/01 03:57:26 [notice] 4563#0: start worker processes
2008/10/01 03:57:26 [notice] 4563#0: start worker process 3870

Какой метод события ваш nginx скомпилировал для использования?

Вы делаете какие-либо access_log'ing? Попробуйте добавить buffer = 32k, что уменьшит конфликт при блокировке записи для файла журнала.

Подумайте об уменьшении числа работников, это звучит нелогично, но рабочие должны синхронизироваться друг с другом для вызовов sys, например accept (). Попробуйте сократить количество работников, в идеале я бы предложил 1.

Вы можете попытаться явно установить буферы сокетов чтения и записи на сокете прослушивания, см. http://wiki.codemongers.com/NginxHttpCoreModule#listen

3 голосов
/ 25 сентября 2008

Возможно, lighttpd использует какое-то кеширование? Есть отличная статья здесь , которая описывает, как настроить memcached с nginx для увеличения производительности на 400%.

Документ nginx для модуля memcached: здесь .

1 голос
/ 13 октября 2008

Предложения: - Используйте 1 рабочий на процессор. - Проверьте различные настройки буфера nginx

...