Re: Re[7]: Использование nginx для отдачи больших файлов

drmarker drmarker at gmail.com
Fri Feb 16 12:42:45 MSK 2007


Другое дело, что, как показывает опыт, выше головы не прыгнешь и если
все упирается в диски, то настройками nginx (и вообще настройками)
делу особо не поможешь - надо улучшать дисковую подсистему или ставить
еще сервер и переводить часть нагрузки на него. Это и проще и лучше и
дешевле.

Снижение average output в peak time, как мне кажется, связано с тем,
что увеличивается количество пользователей/сессий; как результат -
повышается общее количество файлов, которые запрашиваются и
уменьшается среднее количество байт, передаваемое 1-му клиенту в 1-у
секунду; как результат - чтение с дисков происходит меньшими кусками,
а "кусков" больше, то есть производительность дисковой подсистемы
заметно снижается за счет более фрагментарного чтения.

При этом, понятно, чем быстрее снижается производительность дисков,
тем сильнее начинают действовать факторы, описанные выше. И дальше -
по кругу.

Решение - в сериализации операций чтения, NCQ/TCQ, сокращении набора
файлов, сокращения количество одновременных сессий и так далее. Я, при
достижении плановой нагрузки на сервер (70% в iowait), ставлю рядом
еще один и не морочу себе голову :)

On 2/16/07, drmarker <drmarker at gmail.com> wrote:
> А зачем столько workers? Лучше сделать 1-2-3, чтобы они друг-друга
> меньше блокировали. И keepalive для этой задачи, наверное, тоже совсем
> не нужен?
>
> Использование perl не мешает использованию sendfile?
>
> On 2/16/07, Igor Savchenko <dicsydel at gmail.com> wrote:
> > Hello AleXXX,
> >
> > Friday, February 16, 2007, 11:04:26 AM, you wrote:
> >
> > > On Fri, 16 Feb 2007 10:44:34 +0200
> > > Igor Savchenko <dicsydel at gmail.com> wrote:
> >
> > IS>> Hello AleXXX,
> > IS>>
> > IS>> В дополнение... Какие оптимальные параметры нужны для отдачи файлов
> > IS>> размером 10кб до 60мб которые находятся на 4ТБ массиве?
> > IS>> Канал 100MBit/s.
> > IS>>
> > IS>> В течение дня все окей.. канал загружен практически полностью все
> > IS>> отлично. Но вечером после 16 часов и заканчивая полуночью... Авераж
> > IS>> аутбоунд равен 2-10 Мбит/с. При всем этом LA выше 1 не поднимается.
> > IS>> Где можно покопать?
> >
> > > а провайдер точно вас не шейпит?
> > > как раз у меня после 16 часов поток резко возрастает....
> > > а в час-два ночи спадает....
> >
> > Нет, не шейпит. Сейчас конфиг такой:
> >
> > worker_processes  20;
> >
> > events {
> >     worker_connections  512;
> > }
> >
> >
> > http {
> >     include       conf/mime.types;
> >     default_type  application/octet-stream;
> >
> >     log_format  main  '$remote_addr - $remote_user [$time_local] $status '
> >                       '"$request" $body_bytes_sent "$http_referer" '
> >                       '"$http_user_agent" "$http_x_forwarded_for" "$sent_http_content_length"';
> >
> >     access_log off;
> >
> >     sendfile        on;
> >     keepalive_timeout  20;
> >
> >     perl_modules  perl/lib;
> >     perl_require  rewrite.pm;
> >
> >     server {
> >         listen       xxx.xxx.xxx.xxx:80;
> >         location / {
> >            perl rewrite::handler;
> >         }
> >     }
> > }
> >
> >
> > ---------------------------------
> > Igor V. Savchenko
> >
> > http://webta.net
> >
> > mailto: igor at webta.net
> > ICQ: 86915046
> >
> >
> >
>


More information about the nginx-ru mailing list