Есть распространенное мнение, что Laravel почти самый медленный фреймворк, что даже его название нужно читать медленно и только одним пользователем на 1 ядро CPU. Но к счастью, это не так.
Как и другие PHP-фреймворки, Laravel может тормозить по трем причинам:
Самым тормозным фреймворком обычно является самый популярный ввиду того, что большое количество разработчиков совершает одни и те же ошибки, а сисадмины не оптимизируют сервера. Просто на массовом фреймворке это видно.
Оптимизация сервера под Laravel состоит ровно из тех же моментов, что и оптимизация обычного web-сервера:
Следующие величины показывают разницу в отдаче одной и той же страницы на одном и том же сервере и тех же данных:
Без оптимизации:
С оптимизацией:
Между первым и вторым замером была настроена ОС (ввод-вывод, файловые системы), PHP (пулы fpm, opcache, php.ini), mysql (io, innodb, nice, наложены индексы, оптимизированы таблицы), nginx (keepalive, io, http 2.0, настройки fastcgi, gzip, кеш на клиенте, прочее).
Разница, как видите, велика и происходит благодаря более разумному расходу ресурсов - более дешевая и доступная RAM в пользу экономии IO, CPU, повышения парралелизма.
Это была вводная статья, далее мы расскажем отдельными подробными статьями о том, как добиться похожего результата.
Особенности серверных приложений, работающих с сетью IoT-устройств на практике и в теории
Если считаете, что парсинг Вашего сайта - проблема, то эта статья для Вас.
И снова о маленьких сетевых фокусах ради надежности работы web-сервисов
Какие действия создадут реальную отказоустойчивость и какое бездействие создаст мину замедленного действия
В проекте морской навигации есть особенность, грамотная реализация которой и позволяет жить всей системе