Запускаем Yii 2 под RoadRunner
15 августа 2019
На днях тестировал Yii 3 под RoadRunner. Завёлся почти без проблем. Время ответа в среднем в 1-2 миллисекунды очень порадовало.
Но Yii 3 ещё не готов, а производительности хочется. К счастью, Charles R. Portwood II, написавший когда-то пару неплохих книг по Yii приготовил шаблон приложения для запуска под RoadRunner.
Запускается так:
- Клонируем https://github.com/charlesportwoodii/yii2-app-basic-psr7
composer install
- Ставим RoadRunner одним из описанных способов
./rr.exe serve -d -v -c ./rr.yaml
- Открываем http://localhost:8080
Приложение открывается и работает. В продакшне я, правда, поведение пока не проверял.
Комментарии RSS по email OK
Завели на работе yii1 под ReactPhp сделал пул ворвкеров (1 воркер обрабатывает 1 запрос, без паралельной обработки), но с некоторыми оговорками - не удалось раскрутить все middleware в обратную сторону, если был exit/die.
В итоге появилось 2 middelware, первая для запуска global state кода в psr-15, вторая патчинг параметров именно для yii 1.
Работает, но на большой кодовой базе сложно сказать, что происходит в коде и где общее состояние может вылезти и выстрелить в ногу, в прод брать не стали в итоге пока. Если бы писали с 0 и точно понимали, что проект будет в итоге небольшим, то скорее всего было бы меньше рисков и может быть попало бы в прод.
Присутствуют утечки в памяти. Каждый запрос ест примерно 0.5mb памяти. В Yii2 всегда такая проблема была. Профилируйте запрос и ищите мусор.