Роман Соловьев - Swoole, FPM, Circuit breaker. BeerPHP Novosibirsk Meetup 2025
Beer PHP Novosibirsk
0:00 / 0:00
Роман Соловьев - Swoole, FPM, Circuit breaker. BeerPHP Novosibirsk Meetup 2025
17 просмотров · 2 месяца назад
Beer PHP Novosibirsk
4 подписчика
17 просмотров · 2 месяца назад
Доклад Ромы о переезде на Swoole и внедрении Circuit Breaker
Рома делится опытом: команда уже год живёт на Swoole, и в целом всё хорошо, пока не пришла нагрузка — и Swoole начал проседать сильнее, чем FPM, на любых задержках. Нагрузочные тесты показали неприятную картину: на simple hello-world Swoole рвёт FPM по RPS и ресурсам, но стоит добавить 500 мс задержки — и RPS падает в разы, хотя CPU и память остаются свободными.
В докладе — как команда лечила проблему конкурентными тасками Swoole вместо последовательных запросов, почему это спасло только средний перцентиль, но не помогло с 95-м, и как в итоге пришлось внедрять Circuit Breaker поверх Guzzle — с переходом от таймаутов к перцентильной оценке времени ответа, потому что стандартного секундного таймаута не хватало. Плюс — метрики Swoole в Grafana, алерты на нехватку воркеров, борьба с упором в коннекты к базе при масштабировании подов и переключение PgBouncer в transaction-режим.