Есть проблема, стоит nginx, используется в качестве проксирующего демона.
Виртуальный хостинг, пользователи иногда балуются выкладывание для скачки
больших файлов (больше мегабайта уже большой), эти файлы иногда качают
качалками, в результате nginx запрашивает эти файлы у бэкэнда-апача,
запрашивает
много раз, пишет их во временные файлы, потихоньку отдает их клиентам.. вроде
бы
все так и задумывалось, да вот просто гигантская нагрузка от nginx на диски,
он
усиленно пишет эти времнные файлы, все бы ничего, но вот поток записи в разы
больше
траффика сервера, похоже что записывается то файл или его часть целиком, а
вот
запрашивается только кусочек от этого целого. В результате при скачке файла
на 30 метров
во временные файлы от пишется раз так 50 (по числу одновременных потоков),
пишется
каждый раз хоть и не целиков, но в сумме мегов на 300-400, а отдается клиенту
теже 30 метров.
Я конечно понимаю что тут mod_accell бы меня спас, но хочется нормально и с
nginx'ом жить :)
Можно ограничить размер временного файла, например, одним мегабайтом:
proxy_max_temp_file_size 1m;
Но в этом случае, если ответ будет больше, то бэкенд будет ждать.
Можно вообще запретить использование файлов - "proxy_max_temp_file_size 0".
Игорь Сысоев
http://sysoev.ru