Настройка сервера для высокопроизводительного приложения laravel

Попытка изменить конфигурацию сервера для поддержки большего количества одновременных пользователей в приложении laravel. Несмотря на внесение разнообразных изменений, обнаружено, что время отклика не улучшается. Примечание. JMeter используется для нагрузочного тестирования API-интерфейсов приложения.

Результаты теста

Пример использования 1:

2 пользователя отправляют запросы в течение 20 секунд. Время отклика API: 200 мс

Пример использования 2:

20 пользователей отправляют запросы за 20 секунд. Время ответа API: 6,5 с

Конфигурация сервера:

CentOS, 4 ГБ ОЗУ, 2 ядра ЦП (t3.medium)

  • Веб-сервер: Apache/2.4.6
  • Версия PHP: 7.4.6, Версия Laravel: 7.27.0, Отладка Laravel: Включена
  • База данных: MariaDB Ver 15.1

Примечание. API-интерфейсы, тестируемые под нагрузкой, не используют БД. В основном это делается для того, чтобы база данных не участвовала в уравнении - приветствуются предложения по оптимальным настройкам БД.

Увеличил конфигурацию сервера до xlarge, 2xlarge, and 4xlarge.. Несмотря на это, никаких существенных улучшений замечено не было. Как ни странно, количество ошибок резко возросло.

Сделаны следующие оптимизации / изменения:

  • PHP - используйте opcache.
  • PHP-FPM: запуск нескольких потоков, серверов и т. Д.
  • Apache: Запуск в режиме работы по событию.

Какие изменения следует внести в конфигурацию сервера, чтобы запросы обрабатывались быстрее? Поможет ли выбор nginx и выполнение необходимых оптимизаций быстрее обрабатывать запросы?

0 ответов

Другие вопросы по тегам