нагрузка одного воркера 99.9% CPU
Igor Sysoev
is at rambler-co.ru
Mon Jul 3 11:56:45 MSD 2006
On Mon, 3 Jul 2006, Alex Kitschkiruk wrote:
> Обнаружил интересную ошибку (версия у меня 49), а интересная она в том, что
> сложно ее предугажать и невозможно создать условия для повторения...
> Машинка новая - оптерон 2х гигагерцовый, памяти - 2 гига. стоит дебиан.
> Крутится пока один маленький проект (1500 уников в день). (то есть ресурсов
> выше крыши)
> nginx_status показывает примерно 60-120 коннектов, и 2-3 запроса в секунду.
> все воркеры кушают около 0.0 - 0.1% CPU
> Работала система без сбоя примерно неделю, потом я добавил в конфиг
> несколько location директив, с поддержкой паролей...
> и тут началось...
> через некоторое время один из воркеров начинает поедать все процессорное
> время.
> Заметил интересное, что когда пытался выйти через kill QUIT, то нагрузка
> осталась 99.9%, но рапределилась равномерно по всем воркерам. Приходилось
> kill INT делать.
> Поедание процессора начианется не сразу после перезагрузки, а может через
> полчаса, может через 10 часов...
> Началась эта свястопляска пару дней назад, поэтому и подозрение на
> добавление этих location, вот такого типа они все:
>
> location ^~ /archiv/ {
> valid_referers none server_names *.server.com/;
> if ($invalid_referer) {
> return 403; }
> root /var/www/web1;
> autoindex on;
> auth_basic "Priwet!";
> auth_basic_user_file /etc/nginx/password_web1;
> limit_rate 100K;
> access_log /var/logs/nginxx_web1_archiv.log download;
> }
>
> То есть ничего особенного здесь нет...на другой машинке раньше такая
> конструкция без проблем работала
> Ошибок в логах никаких нет, компилировал с поддержкой debug. Что можно
> сделать чтобы вам конкретнее сказать, где проблема закралась?
В таких случаях можно сделать следующее:
1) запустить strace/ktrace/и тому подобное на десяток секунд,
вывод прислать мне.
2) запустить screen и подсоединиться к зациклившимся процессам с
помощью gdb, процессы будут висеть в состоянии STOP.
В таком состоянии nginx'у можно смело посылать -HUP, -USR1 и даже
делать online-upgrade (единственное исключение - при использовании
метода rtsig: там могут быть проблемы).
После этого будем вместе смотреть проблему.
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list