Оптимальная настройка

Igor Sysoev is at rambler-co.ru
Tue Nov 30 09:48:10 MSK 2004


On Tue, 30 Nov 2004, Konstantin N. Bezruchenko wrote:

> Вчера попробовал переключить в продакшн nginx (вместо apache2), но
> пришлось вернуть apache, потому как nginx довольно медленно работал и
> проблема определенно в настройках. У меня к сожалению нет возможности
> проводить эксперимент на живой системе, поэтому прошу вас поправить
> меня если я где-то неправ в конфиге.
> Дано: freebsd 4.10, загрузка канала около 60 мегабит (в пиках),
> статика (gif/png/jpeg), размер файлов от 1КБ до 20КБ. Средний размер
> файла 8КБ.
> В среднем обрабатывается порядка 200-280 req\sec, в пиках может быть
> до 350.
>
> Вот конфиг:
>
> ------------------------ config start ------------------------
> user  nginx;
> worker_processes  3;
>
> error_log  logs/error.log;
> pid        logs/nginx.pid;
>
>
> events {
>         connections  2048;
>         use kqueue;
> }
>
> http {
>     include       conf/mime.types;
>     default_type  application/octet-stream;
>
>     connection_pool_size 2k;
>     request_pool_size 4k;
>
>     sendfile  on;
>     keepalive_timeout  75 20;
>
>     server {
>         listen  x.x.x.x;
>         server_name images.domain.com;
>         error_page  404  /error404.htm;
>         location / {
>             root   /www/images.domain.com/;
>             index  index.htm;
>         }
>     }
> }
> ------------------------- config end -------------------------
>
> С этим конфигом все грузилось очень медленно.
>
> Где я не прав? И может быть стоит что-то добавить?
>
>
> Кроме того наблюдается непонятная для меня вещь.
> apache2 с prefork.c визуально грузит картинки намного быстрее.
> Специально нарисовал 40 картинок с цифрами выстроил в ряд в таблице,
> apache отдает их намного быстрее, они грузятся "сплошным
> потоком" как прогресс бар :) а у nginx это получается как-то "рывками"
> Т.е. сначала 1,2 потом немного думает 3,4 ну и так далее. Задержки
> мизерные но визуально это смотрится совсем по-другому.
>
> Бенчмарки же показывают что апач проигрывает nginx по всем параметрам.
> В чем тогда секрет?

Я правильно понимаю, что картинки смотрелись в MSIE через быстрое
соединение, а на Апаче выключен keep-alive ?

Можно попробовать три вещи:
1) поставить "keepalive_timeout  0" nginx'у.
2) включить keep-alive в Апаче.
3) посмотреть nginx с keep-alive не в MSIE.
Сравнить.

Что значит "с этим конфигом все грузилось очень медленно" - это всё та же
проблема с картинками или что-то ещё ?


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list