Passenger spawn server CPU 100% Ruby on Rails

В один прекрасный день виртуальный сервер с моим блогом стал жутко тормазит. По закону подлости беда пришла не одна.

  • Первая причина база данных уперлась в диск скорость записи на который была крайне низкой.
  • Вторая причина Passenger в htop показывал 100% использования процессора не зависимо были обращения к серверу или нет.

Наложение этих двух событий вызвало задержку в общение с тех. поддержкой, тк они винили в тормозах ruby а я дисковую систему.

Для проверки скорости работы диска на VPS можно воспользоваться утилитой dd

dd if=/dev/zero of=/tmp/tmp.test.some.big.file bs=128K count=2000
вывод команды после завершения
2000+0 записей считано 2000+0 записей написано скопировано 262144000 байт (262 MB), 0,578856 c, 453 MB/c
На момент проблемы скорость записи показывалась 142 КБ/с. Опираясь на этот показатель удалось убедить техподдержку передать запрос на рассмотрение технику и через день полтора данный показатель восстановился.

После решение первой проблемы с дисками перешел к решению проблемы с 100% загрузкой CPU.
Passenger spawn server - упорно пожирал 98-100% процессора по данным htop. Погуглив немного я нашел упоминания, что я не одинок. Однако решения вопроса не предлагалась.

Проблема началась достаточно внезапно. Как вариант после обновления системы. На данным момент, я решил ее для себя понижением версии ruby с ruby 1.9.3 до 1.9.2

Вам может понравиться