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