Господа. может быть это немного не в тему, но хочу поделиться с вами знанием, которое мне досталось достаточно дорого (2 года глюков).
Знание очень простое и состоит из нескольких частей:
1. Если у вас раздача (или файлохостинг), должно стоять два nginx - один акселератор (прокси), другой - работающий с дисками. При этом proxy_buffering на акселераторе должен стоять на on:
proxy_buffering on;
proxy_temp_path /tmp/nginx-accel;
proxy_buffer_size 4k;
proxy_buffers 100 8k;
Это позволяет быстро обслуживать большое количество паралельных соединений, при этом соединения с клиентами не блокируются дисковыми операциями (поиском файла в архиве, например).
2. Используйте multi_accept on; - лучше если пользователь будет ждать чуть дольше, нежели чем получит красный крестик или неоткрытое соединение.
3. Если вы используете внешние хранилища, подключаемые через scsi hba карты - ОБЯЗАТЕЛЬНО переключите на карте скорость всех каналов на одно деление ниже (если макс. скорость карты и scsi хранилища - 320 мбпс, установите в биосе карты и настройках хранилища скорость в 160 мбпс). Это отключит процесс domain validation из-за которого общение с хранилищами могло подвисать на долгое время по причине согласования максимально возможной пропускной скорости.
Пока это все.
Аркадий Кулев, Gallery.ru