Re: странная статистика
ruslan usifov
ruslan.usifov на gmail.com
Пт Дек 10 15:21:17 MSK 2010
Я почему то думал что если начинаются тормоза, то увеличивается количество
ожидающих запросов, а тут получается что увеличивается количество пишущих а
как такое вообще то возможно? У нас на бекендах крутиться 64*3 = 192
процесса fastcgi, если предполагать что бекенд стал неспешно отдавать
контент, то по идее количество одновременно пишущих подключений не должно не
должно быть больше 192, и должно увеличиваться количество ожидающих в моем
же случае все как раз наоборот. Я сначала думал что у меня графики местами
перепутаны но однако все перепроверив убедился что нет не перепутаны.
PS:
root на social5# uname -a
FreeBSD social5.playrix.com 8.0-RELEASE-p4 FreeBSD 8.0-RELEASE-p4
root на social5# nginx -V
nginx version: nginx/0.8.53
configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I
/usr/local/include' --with-ld-opt='-L /usr/local/lib'
--conf-path=/usr/local/etc/nginx/nginx.conf
--sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid
--error-log-path=/var/log/nginx-error.log --user=www --group=www
--http-client-body-temp-path=/var/tmp/nginx/client_body_temp
--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp
--http-proxy-temp-path=/var/tmp/nginx/proxy_temp
--http-scgi-temp-path=/var/tmp/nginx/scgi_temp
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp
--http-log-path=/var/log/nginx-access.log --with-http_stub_status_module
--with-pcre
на всякий случай прикрепляю свой zabbix скрипт сбора статистики с Nginx
#!/bin/sh
### DESCRIPTION
# $1 - имя узла сети в zabbix'е (не используется)
# $2 - измеряемая метрика
### OPTIONS VERIFICATION
if [ -z $1 ]; then
exit 1
fi
### PARAMETERS
METRIC="$1" # измеряемая метрика
STATURL="http://localhost/" # адрес nginx статистики
CURL=/usr/local/bin/curl
CACHETTL="5" # Время действия кеша в секундах (чуть меньше чем период опроса
элементов)
CACHE="/tmp/nginxstat.cache"
### RUN
## Проверка кеша:
# время создание кеша (или 0 есть файл кеша отсутствует или имеет нулевой
размер)
if [ -s "$CACHE" ]; then
TIMECACHE=`stat -f"%m" "$CACHE"`
else
TIMECACHE=0
fi
# текущее время
TIMENOW=`date '+%s'`
# Если кеш неактуален, то обновить его (выход при ошибке)
if [ "$(($TIMENOW - $TIMECACHE))" -gt "$CACHETTL" ]; then
$CURL -s "$STATURL" > $CACHE || exit 1
fi
## Извлечение метрики:
case "$METRIC" in
"active")
grep "Active connections" $CACHE | cut -d':' -f2
;;
"accepts")
sed -n '3p' $CACHE | cut -d" " -f2
;;
"handled")
sed -n '3p' $CACHE | cut -d" " -f3
;;
"requests")
sed -n '3p' $CACHE | cut -d" " -f4
;;
"myrequests")
sed -n '3p' $CACHE | cut -d" " -f4
;;
"reading")
grep -Eo "Reading: +[0-9]+" $CACHE | cut -d':' -f2
;;
"writing")
grep -Eo "Writing: +[0-9]+" $CACHE | cut -d':' -f2
;;
"waiting")
grep -Eo "Waiting: +[0-9]+" $CACHE | cut -d':' -f2
;;
esac
10 декабря 2010 г. 14:29 пользователь Михаил Монашёв <
postmaster на softsearch.ru> написал:
> Здравствуйте, Руслан.
>
> Friday, December 10, 2010, 11:57:03 AM, Вы писали:
>
> ru> Приветствую
>
> ru> я наблюдаю очень странную статистику nginx (статистика собирается
> ru> через status module):
>
> ru> http://pixs.ru/showimage/troublejpg_9917540_1340475.jpg
>
>
> ru> как видно начинает резко расти количество активных подключений (и
> ru> количество соединений которые чего то пишут), но при этом не
> ru> растет количество запросов в секунду. Причем в момент резкого
> ru> роста CPU на всех обработчиках (их у нас 3) под 100%. В принцепе
> ru> ладно - это по идее должно означать что во время резкого роста мы
> ru> не справляемся с нагрузкой, но не понятно отчего не растет
> ru> количество запросов в секунду на Nginx?
>
> Всё верно. Начались какие-то тормоза. Например бэкенд начал медленее
> отдавать ответы, но он их всёравно отдавал в прежнем количестве,
> просто не так быстро, как ранее.
>
>
> --
>
> С уважением,
> Михаил Монашёв
> mailto:postmaster на softsearch.ru
> http://talxy.com - p2p-based online broadcasting and file sharing.
> Без бэкапа по жизни.
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20101210/61da372e/attachment-0001.html>
Подробная информация о списке рассылки nginx-ru