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