У меня есть сайт с нагрузкой около 60 000 запросов в минуту, обслуживаемых nginx. Недавно я включил open file cache
и увидел резкое улучшение производительности. Но по вечерам, когда нагрузка максимальна, время отклика по-прежнему довольно велико, и nginx использует много операций ввода-вывода.
Вот мои текущие настройки:
open_file_cache max=10000 inactive=30s;
open_file_cache_valid 60s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
И у меня еще остались воспоминания:
free -m
total used free shared buffers cached
Mem: 7910 6917 992 0 439 885
-/+ buffers/cache: 5592 2317
Swap: 8099 0 8099
Вопрос: теперь выбрать правильное значение для open_file_cache max=10000
а другие параметры? 10000 достаточно, это слишком мало или велико? Есть ли способ отслеживать использование кэша открытых файлов?
Кэш открытых файлов - это система кеширования для операций с метаданными (mtime файла, существование файла и т. Д.), А не для содержимого файла, поэтому он помогает, но не так сильно, как вы ожидаете.
Вот некоторые обходные пути, которые вы можете попробовать:
Вы также можете попробовать буферы, поскольку nginx не будет записывать временные файлы, когда у вас достаточно буферов.