Перейти к содержимому

Роман Соловьев - 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-режим.