Я пытаюсь уменьшить TTFB до 200 мс. В настоящее время это более 600 мс.
Мое приложение использует Laravel с AsgardCMS. Я реализовал очень мало пользовательского кода, и в базе данных имеется 28 таблиц с общим количеством записей менее 100.
Я установил кеширование Redis (и включил кеширование) и запускаю php artisan optimize
,
Я также использую Nginx с Apache через Engintron
,
В основном я пытался устранить как можно больше узких мест!
Однако после установки Blackfire сообщает, что Composer\Autoload\includeFile
в общей сложности занимает 250 мс (более 299 звонков).
Illuminate\Container\Container::build
также вызывается 141 раз с общим временем 49 мс.
Я согласен с тем, что автозагрузчик может вызываться так много раз, но действительно ли он занимает 250 мс?
Мой VPS имеет 2 ядра (процессор Intel Xeon) и 4 ГБ оперативной памяти (выделено). Я только что обновил с 1 ядра и 2 ГБ оперативной памяти, но почти не заметил никакой разницы. Диски SSD. Работает на WHM / cPanel, кстати. Около 10 сайтов на сервере, но ни один из них не отличается особенно высоким трафиком, и эти тесты выполнялись в самые тихие периоды.
В последнем тесте Blackfire сообщил:
Time: 696ms
I/O Wait: 149ms
CPU time: 548ms
SQL Queries: 2.38ms
Есть идеи? Довольно пожалуйста …
Пока я не дошел до того, была ли проблема с сервером или кодом PHP, или ожидалась «медлительность» приложения, следуя комментариям к этой теме и комментариям к ссылка предоставлена @teeyo (https://laracasts.com/discuss/channels/laravel/adventures-in-increasing-laravel-performance) Решил проверить PHP7
,
WHM позволил легко включить PHP7 только для этой учетной записи, так что это было довольно просто. Запустил еще один тест, который вышел около 400 мс — потрясающе, но все же не менее 200 мс.
Итак, я решил попробовать и включить PHP-FPM
который также был грехом через WHM …
F *** Я! Теперь я получаю около 100 мс! И в довершение, если я отключу Engintron
Я брею еще 10-20 мс! (Хотя это, вероятно, не рекомендуется для сайтов с высоким трафиком, так как тогда это не принесет пользы nginx
обратный прокси).
В любом случае, спасибо всем за ваш вклад … надеюсь, это поможет другим …
Других решений пока нет …