Другое дело, что, как показывает опыт, выше головы не прыгнешь и если
все упирается в диски, то настройками nginx (и вообще настройками)
делу особо не поможешь - надо улучшать дисковую подсистему или ставить
еще сервер и переводить часть нагрузки на него. Это и проще и лучше и
дешевле.
Снижение average output в peak time, как мне кажется, связано с тем,
что увеличивается количество пользователей/сессий; как результат -
повышается общее количество файлов, которые запрашиваются и
уменьшается среднее количество байт, передаваемое 1-му клиенту в 1-у
секунду; как результат - чтение с дисков происходит меньшими кусками,
а "кусков" больше, то есть производительность дисковой подсистемы
заметно снижается за счет более фрагментарного чтения.
При этом, понятно, чем быстрее снижается производительность дисков,
тем сильнее начинают действовать факторы, описанные выше. И дальше -
по кругу.
Решение - в сериализации операций чтения, NCQ/TCQ, сокращении набора
файлов, сокращения количество одновременных сессий и так далее. Я, при
достижении плановой нагрузки на сервер (70% в iowait), ставлю рядом
еще один и не морочу себе голову :)
On 2/16/07, drmarker <drmarker@xxxxxxxxx> wrote:
А зачем столько workers? Лучше сделать 1-2-3, чтобы они друг-друга
меньше блокировали. И keepalive для этой задачи, наверное, тоже совсем
не нужен?
Использование perl не мешает использованию sendfile?
On 2/16/07, Igor Savchenko <dicsydel@xxxxxxxxx> 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@xxxxxxxxx> 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@xxxxxxxxx
> ICQ: 86915046
>
>
>