Re[4]: Как считать количество попаданий в кэш
Михаил Монашёв
postmaster at softsearch.ru
Thu Oct 4 11:47:38 UTC 2012
Здравствуйте, Михаил.
> А вот если строить график процентного попадания в кэш (полезная
> штука бывает), то парсить приходиться постоянно. У меня бывают пики
> с 8к запросами в секунду на сервер. Парсить такое в реальном времени
> я не решаюсь. Парсить за прошлый день - вариант, но не удобный. Вот
> если можно было снимать такую статистику через nginx_status было бы
> удобно :))
Можно для подобного писать отдельный лог в который будет писаться
только $upstream_cache_status.
Также можно настроить logrotate так, чтобы он часто ротировал этот лог
и после ротации дёргал Ваш скрипт, который бы обрабатывал
отротированный лог. 8000 запросов в секунду с $upstream_cache_status в
логе - это в худшем случаем 100-400 килобайт лога в минуту. Но даже
если бы лог был огромным, то для более-менее точной картины можно
через head или tail брать только 10000 строчек лога. Так Вы получите
статистику кэширования с отставанием от реальности не более, чем в
одну минуту (если logrotate запускать по cron-у каждую минуту) и
создающую минимальную нагрузку на систему.
--
С уважением,
Михаил mailto:postmaster at softsearch.ru
Подробная информация о списке рассылки nginx-ru