Amphp, использует ли кто в production?

Речь идет про amphp.

Задача - rest-сервис. Много различной логики, множество объектов инстанцируются(фактически это immutable объекты) как следствие - длительный bootstrap.
В качестве основной бд - Redis. Все сделано достаточно аккуратно, на php-pm завелось легко(httpKernel), но в блокирующем режиме это все не так интересно. Ранее есть опыт на другом проекте с ReactPHP, хотим сейчас проверить асинхронщину, с "корутинами" на генераторах, вот это вот все.
Ожидаем повышения RPS и как следствие уменьшения количества наших железок.
Ориентируемся естественно на php7.
Использует ли кто amphp в продакшне, под нагрузкой? Какие риски? Известные проблемы?

В первую очередь опасения за php-uv,
Latest commit on 26 Aug 2014 конечно не внушает большого доверия, но судя по https://travis-ci.org/amphp/amp какие-то тесты все же проходятся.

Альтернативно рассматриваем также icicleio. Если есть опыт работы с ним в продакшне или любой другой асинхронщиной - делитесь проблемами\успехами.
  • Вопрос задан
  • 1509 просмотров
Пригласить эксперта
Ответы на вопрос 1
nazarpc
@nazarpc
Open Source enthusiast
но в блокирующем режиме это все не так интересно

С чего бы это? Часто большие накладные расходы имеет именно bootstrap приложения.
Запустите под blackfire сервер, прогоните несколько сотен тысяч запросов, посмотрите реально ли у вас I/O причина задержек, или, может, вы упираетесь в CPU.

Дальше смотрите что именно вас не устраивает: общая производительность или скорость обработки одного запроса. Если первое и есть запас памяти - гораздо проще увеличить количество воркеров.

Вот если вы упираетесь жестко в I/O && ограничены сильно по памяти && критичным является скорость обработки одного запроса - тогда стоит смотреть серьезно в сторону асинхронного I/O, в противном случае вы излишне усложняете систему не получая существенной практической пользы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы