Понедельник, 28 Апрель 2008
Nginx: читаем статистику
В nginx есть модуль http_stub_status_module, который рисует статистику.
Обычно статистика выглядит так:
Active connections: 268
server accepts handled requests
9634632 9634632 9616293
Reading: 170 Writing: 98 Waiting: 0
Для не подготовленного человека она не понятна. Но если копнуть чуть‑чуть глубже то все становится очевидно.
Все данные в статистику пишутся через общую память, т.е. она общая, должна быть, для всех worker’ов. Если смотреть на шаблон вывода мы получим:
Active connections: ngx_stat_active
server accepts handled requests
ngx_stat_accepted ngx_stat_handled ngx_stat_requests
Reading: ngx_stat_reading Writing: ngx_stat_writing Waiting: ngx_stat_waiting
Описание макросов:
- ngx_stat_active — Сколько сейчас обслуживается клиентов. Прибавляется 1 после accept() для сокета и вычитается после close(). Так же это сумма reading + write + waiting соединений.
- ngx_stat_accepted — Сколько всего было accept()’нуто сокетов. Просто счетчик.
- ngx_stat_handled — Сколько было обработано сокетов, а не закрыто сразу.
- ngx_stat_requests — Сколько было обслужено запросов. Т.к. в одном accept()’нутом сокете может быть обработано больше 1 запроса (keep-alive).
- ngx_stat_reading — Сколько соединений читает заголовок запроса.
- ngx_stat_writing — Сколько соединений уже прочитало заголовок запроса и пошло обрабатываться, т.е. если оно читает body, или с upstream’ом общается — будет висеть во writing.
- ngx_stat_waiting — Сколько keepalive соеденений висит.
Комментарии
Форма комментирования для «Nginx: читаем статистику»