Size: a a a

Saint P Ruby Community

2020 March 04

AR

Anna Razumova in Saint P Ruby Community
херня все это. В феврале устраивали панику что в димитровграде новый чернобыль, теперь это. Невозможно блин
источник

MS

Mikhail Sytchev in Saint P Ruby Community
+
источник

MS

Mikhail Sytchev in Saint P Ruby Community
надо своей головой думать
источник

AR

Anna Razumova in Saint P Ruby Community
Простите за оффтоп, конечно.
источник
2020 March 05

MS

Mikhail Sytchev in Saint P Ruby Community
Ребята, столкнулся со странным поведением puma в продакшне. На виртуальной машине в облаке запущено rails приложение, обслуживает его сервер puma. Виртуалка жирная 12CPU 25Гб RAM. Где-то раз в неделю производительность сервера начинает деградировать. Ну как производительность. Ответы сервера для клиентов все медленнее и медленнее, и потом вроде как вообще все виснет, а потом снова отпускает, но больше быстро не работает.

При этом утилизация CPU не поднимается выше 15%, RAM в районе 16ГБ из 25. Т.е. на мониторинге никакие триггеры не срабатывают что нагрузка высокая. Перезагрузка процесса пумы помогает. Моментально в норму все приходит.

Проблема противная, потому-что ее не отследить по стандартным триггерам производительности. Есть быстрое решение — перегружать пуму раз в сутки, но это жутко например. Никто не сталкивался? Если сталкивались, то как решали?
источник

EM

Eugene Maslenkov in Saint P Ruby Community
Прошу прощения, но почему не добавить мониторинг времени ответа?
источник

MS

Mikhail Sytchev in Saint P Ruby Community
Это я вот прям сейчас делаю
источник

MS

Mikhail Sytchev in Saint P Ruby Community
но это в рамках поликостылирования работа
источник

MS

Mikhail Sytchev in Saint P Ruby Community
будет мониторинг времени ответа, если время ответа выше медианы на 80% то перезагрузка процесса
источник

EM

Eugene Maslenkov in Saint P Ruby Community
Просто если мне память не изменяет - для ньюрелика это стандартная метрика...
источник

EM

Eugene Maslenkov in Saint P Ruby Community
👍
источник

MS

Mikhail Sytchev in Saint P Ruby Community
но это же не дело
источник

m

max in Saint P Ruby Community
а вы уверены что проблема именно в стеке пумы?
а это не ваше приложение/rack/middleware тупит?
вам бы еще добавить хендлер, который не ходит в приложение и сравнивать время ответа еще и с ним
источник

MS

Mikhail Sytchev in Saint P Ruby Community
если ресурсов хватает, то надо проблему исправлять, а не подпирать костылем. Просто я понимаю что это ооочень сложно отдебажить и спрашиваю может у кого-то был такой случай в практике.
источник

A

Alex in Saint P Ruby Community
Mikhail Sytchev
Ребята, столкнулся со странным поведением puma в продакшне. На виртуальной машине в облаке запущено rails приложение, обслуживает его сервер puma. Виртуалка жирная 12CPU 25Гб RAM. Где-то раз в неделю производительность сервера начинает деградировать. Ну как производительность. Ответы сервера для клиентов все медленнее и медленнее, и потом вроде как вообще все виснет, а потом снова отпускает, но больше быстро не работает.

При этом утилизация CPU не поднимается выше 15%, RAM в районе 16ГБ из 25. Т.е. на мониторинге никакие триггеры не срабатывают что нагрузка высокая. Перезагрузка процесса пумы помогает. Моментально в норму все приходит.

Проблема противная, потому-что ее не отследить по стандартным триггерам производительности. Есть быстрое решение — перегружать пуму раз в сутки, но это жутко например. Никто не сталкивался? Если сталкивались, то как решали?
У меня тоже самое на здоровом приложении, течет память, все перекашивает со временем.
источник

A

Alex in Saint P Ruby Community
Патались профилировать память, но успеха не достигли пока, такое впечатление, что эта проблема носит системный характер.
источник

A

Alex in Saint P Ruby Community
Может быть дело в фрагментации памяти, руби набирает у системы памяти, отдавать ее обратно не умеет и в результате памяти вроде бы много, но найти свободные страницы для того, чтобы воткнуть туда новый объект становится сложно.
источник

MS

Mikhail Sytchev in Saint P Ruby Community
Если память течет, и пума фризится когда забивается RAM, то это ожидаемо. А в моем кейсе еще 9Гб памяти свободно, а пума все-равно фризится.
источник

IN

Ilya Nikolaevich in Saint P Ruby Community
Mikhail Sytchev
Ребята, столкнулся со странным поведением puma в продакшне. На виртуальной машине в облаке запущено rails приложение, обслуживает его сервер puma. Виртуалка жирная 12CPU 25Гб RAM. Где-то раз в неделю производительность сервера начинает деградировать. Ну как производительность. Ответы сервера для клиентов все медленнее и медленнее, и потом вроде как вообще все виснет, а потом снова отпускает, но больше быстро не работает.

При этом утилизация CPU не поднимается выше 15%, RAM в районе 16ГБ из 25. Т.е. на мониторинге никакие триггеры не срабатывают что нагрузка высокая. Перезагрузка процесса пумы помогает. Моментально в норму все приходит.

Проблема противная, потому-что ее не отследить по стандартным триггерам производительности. Есть быстрое решение — перегружать пуму раз в сутки, но это жутко например. Никто не сталкивался? Если сталкивались, то как решали?
Ребут сервера с некоторой периодичностью, это нормально. Так решаются большинство проблем на продакшене. Текут какие-нибудь файловые дискрипторы, или еще какой-нибудь неведомый зверь, которого не так просто поймать
источник

A

Alex in Saint P Ruby Community
Mikhail Sytchev
Если память течет, и пума фризится когда забивается RAM, то это ожидаемо. А в моем кейсе еще 9Гб памяти свободно, а пума все-равно фризится.
Мне кажется тут не важно сколько свободно, а важно сколько съели.
источник