Hello! On Thu, Feb 22, 2018 at 12:03:10PM -0500, Bloof wrote:
> Добрый день. > > Я использую nginx как раздающий сервер для кеширования небольших видеофайлов > с другого сервера-хранилища. Среднее время получения одного файла из > хранилища 20 мсек, максимальное 200 мсек. Если два клиента приходят к nginx > за одним файлом практически одновременно, то nginx одного клиента ставит на > загрузку файла из хранилища, а второй клиент попадает на ожидание > lock_timeout/lock_age > (https://github.com/nginx/nginx/blob/branches/stable-1.12/src/http/ngx_http_file_cache.c#L452). > При этом ставится таймер, который каждые 500 мсек проверяет наличие файла в > кеше. Получается, что время таймера сильно больше времени получения файла из > хранилища. Уменьшать proxy_cache_lock_timeout нет возможности, так как можно > перегрузить канал между nginx и хранилищем. Есть ли возможность > обойти/уменьшить этот таймер, кроме как менять значение в сорцах и > перекомпилировать nginx? Можно ли поставить что-то типа inotify ивента на > появление/изменение файла в кеше? Нет, сейчас способов как-то повлиять на этот таймер, кроме как с помощью малого значения proxy_cache_lock_timeout, нет. -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru