2016-03-27 2 views
2

Я использую Laravel 4.2, когда я просматриваю страницы, PHP-FPM достигает 10-20%.Laravel Высокое использование ЦП - PHP-FPM

Я проверил его на 2 средах:
A:
Nginx BALANCER - 2 процессора, 2 Гб.
Сервер PHP-FPM - 1 процессор, 1 ГБ.
Сервер MySQL - 2 процессора, 2 ГБ.

Б:
Простые VPS на Linode 1 CPU, 1 Гб.
* SSD на всех серверах.

Теперь я начал исследовать его более глубоко с помощью JMeter:
настройки JMeter:

Number of Threads(users) - 100. 
Ramp-Up Period(in seconds) - 1. 
Loop Count - 5. 
  1. Laravel 4,2, послал запросы:

    Route :: получить (»/test ', function() { echo "Test"; });

Результаты: около 40 секунд CPU на 100%.

  1. Laravel 5.2 (чистая установка), отправил запросы на страницу приветствия.
    Результаты: использование ЦП на 100% в течение 20 секунд.

  2. Phalcon (чистая установка): отправил запросы на домашнюю страницу Hello.
    Результаты: использование ЦП на 50% в течение 2 секунд.

  3. Codeiginiter (rest api server, такая же конфигурация): отправляет запросы на страницу, которая загружает данные из БД (возвращает JSON).
    Результаты: Использование ЦП на 55% -60% в течение 3 секунд.

    • Аналогичные результаты в обеих средах.
    • Отключенный режим отладки, подключение к базе данных, изменение конфигураций и т. Д.
      PHP-FPM конфигурации:
      pm.max_children = 9
      pm.start_servers = 3
      pm.min_spare_servers = 2
      pm.max_spare_servers = 4

Я понимаю, что Laravel должен быть медленнее, но я сомневаюсь, что разница должна быть такой большой? Я гугле в течение нескольких часов, я встретил несколько постов, которые имеют один и тот же вопрос, как у меня, но без какого-либо решения:

http://laravel.io/forum/09-25-2014-what-steps-should-i-take-to-reduce-laravels-high-cpu-load
http://laravel.io/forum/08-12-2014-cpu-load-general-performance-question

Что я здесь отсутствует?
Спасибо заранее.

+0

Итак, вы оптимизировали laravel 'php artisan optimize' и композитор' composer dump-autoload --optimize'? –

+0

Да, конечно. – Jack

+0

Предоставляете ли вы Forge? – user2094178

ответ

0

После нескольких недель использования 100% -ного использования процессора, я преобразовал очереди Laravel Forge в демоны, и теперь я вижу среднюю загрузку процессора на 3% (легко выполняется с помощью Forge). Разумеется, это актуально, если вы используете очереди.

Обоснование here.

Смежные вопросы