Hello! On Wed, Apr 24, 2019 at 01:21:06PM -0400, Ilya Evseev wrote:
> Nginx 1.15.11 > Система - CentOS 7 с ядром 4.18 > /data живёт на Cepf. > > Обнаружено преждевременное удаление файлов из кэша Nginx. > Кэш настроен так: > > proxy_cache_path /data/user123/nginx_cache keys_zone=user123:3000m > max_size=20000g inactive=30d levels=1:2 use_temp_path=off; > > В /data/user123/nginx_cache сейчас лежит около 5 миллионов файлов (т.е. > примерно 20% от максимума 3000m), > которые занимают 6 терабайт (30% от максимума 20TB). На вскидку вспоминаются две причины, почему может быть так: - При работе на экзотических файловых системах сообщаемый nginx'у размер на диске может значительно отличаться от собственно размера файла и/или значительно меняться в процессе. Такое, например, наблюдается на XFS (https://trac.nginx.org/nginx/ticket/157). - Если вдруг из каталога кэша кто-то удалил часть файлов в процессе работы - nginx будет продолжать считать, что эти файлы существуют, и учитывать их при очистке кэша по max_size. Частным случаем этой ситуации может являться запуск другого nginx'а, использующего тот же каталог для хранения кэша - уже наблюдал, как люди пытаются таким образом строить "общий кэш" на нескольких серверах, однако следует понимать, что такой подход принципиально неверен и чреват проблемами. С учётом использования Ceph для хранения кэша (зачем?!) - я бы предположил, что причиной может быть как любая из этих причин, так и обе они вместе. -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru