proxy cache stampede

Alex Antropoff alant на transtelecom.md
Чт Сен 22 06:21:41 UTC 2011


21.09.2011 18:13, Vladimir Stavrinov пишет:
> Добрый вечер.
> 
> Не знаю бага это или нет, но проблема не хорошая. Решения в конфигурации
> я не нашёл, поэтому и пишу сюда. Сам факт хорошенько проверил
> экспериментальным путём. Проблема лучше наблюдается на больших файлах,
> потому что в этом случае достаточно времени для наблюдения.
> 
> Суть проблемы. Если несколько независимых клиентов одновременно (или с
> некоторым интервалом) запрашивают один и тот же контент, которого нет
> кэше (важна не одновременность, а отсутствие данных в кэше в момент
> запроса), то для каждого такого запроса создаётся отдельный файл во
> временной директории и устанавливается отдельное соединение с backend
> сервером.  Даже если все эти клиенты досрочно оборвут соединение, то всё
> равно каждый такой файл будет закачан с backend сервера на наш
> кэширующий прокси полностью, причём каждый по своему отдельному
> соединению, то есть параллельно. В итоге и объём файлов на диске и, что
> ещё более важно - результирующий трафик умножаются на количество
> клиентов (запросов). Другими словами мы многократно закачиваем одни и те
> же данные. Не трудно себе представить, что будет если количество таких
> запросов будет расти. А если к этому добавить очевидную возможность
> одновременного существования нескольких таких групп (для разных
> запросов), то становится совсем плохо.

Может попробовать http://labs.frickle.com/nginx_ngx_slowfs_cache/ ?



Подробная информация о списке рассылки nginx-ru