проблема: 99.9% cpu load

Igor Sysoev is at rambler-co.ru
Tue Dec 13 11:32:32 MSK 2005


On Tue, 13 Dec 2005, Alexander Burnos wrote:

> Я не уверен, но возможно проблема в следующем:
> Сейчас стал следить за stub_status и вижу такую картину:
>
> Active connections: 115
> server accepts handled requests
> 383864 383864 383790
> Reading: 59 Writing: 50 Waiting: 6
>
> При этом значения постоянно медленно, но уверенно растут. Вчера, например, где-то за
> сутки active connections в целом до 700 выросли. Хотя предположительная
> норма - около 100 коннектов в часы-пик.
> Вышеприведенный статус - это после рестарта и 3-х часов работы nginx'a,
> хотя сейчас их явно меньше 100 должно быть.
>
> Сначала грешил на то, что коннекты залипают где-то в районе backend'a,
> но тогда бы и Reading не рост тоже по идее.
> Также смущают процессы в Waiting, хотя keepalive_timeout 0.
>
> Утром проапгрейдился до 0.3.15 (был 0.3.12), но изменений это не дало,
> похоже.
>
> Сейчас для коннекшнов строятся графики, так вот интересная картина -
> количество их растет ступеньками резкими. Т.е. например начинается с 100,
> плавно растет до 160, потом резкий скачек до 260, потом медленно до 270,
> потом резко до 398, и т.д. Картину описал приблизительный, но характер
> роста этих коннекшнов именно такой.
>
> Я предпологаю, что когда nginx доходил до максимума worker_connections
> (1024) он и уходил в 99.9% cpu load, более не отвечая на запросы.
> Возможно ли это? Так как тогда графики еще не строились, то по ним не
> могу сказать точно.

Если рабочий процесс прибивают сигналом, то все его счётики не сбрасываются,
отсюда и скачки.

> On Sun, Dec 11, 2005 at 10:28:21AM +0200, Alexander Burnos wrote:
>> Здравствуйте!
>>
>> За последние пару дней несколько раз наблюдал следующую ситуацию:
>>
>> nginx переставал отвечать на запросы, при этом уходя в top с 99.9% cpu
>> load.
>>
>> OS Debian Sarge, kernel 2.6.11.9, nginx 0.3.12.
>>
>> В access-логе не вижу ничего подозрительного, в error-логе обычно видно
>> следующее:
>>
>> 2005/12/11 03:01:02 [alert] 10578#0: *58941 the http output chain is
>> empty while sending to client, client: x.x.x.x
>> 2005/12/11 03:04:07 [alert] 10577#0: worker process 10578 exited on
>> signal 9
>>
>> Вторая строчка - это, скорее всего, после моего kill'a, но я не уверен.
>>
>> Нагрузка маленькая, около 60 active connections. nginx слушает только
>> https, несколько http-проксирований с proxy_buffering off и несколько
>> https проксирований. Использую 1 worker, метод обработки соединения не
>> указываю, т.е. юзается самый оптимальный по мнению nginx, насколько я
>> понимаю.
>>
>> Подскажите, пожалуйста, на что еще можно посмотреть во время
>> возникновения проблемы? Из-за чего это может быть?

Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list