У меня есть сервер Ubuntu, который я настроил с помощью PHP7 и nginx. Это приложение Laravel, и оно работает на AWS. БД MySQL находится на RDS.
Я подготовил этот сервер с помощью Ansible. Это довольно простая конфигурация. У меня включен opcache и достаточно дочерних процессов php. Я также установил mysql-client для взаимодействия с RDS.
Проблема: до предоставления этой коробки, я использовал предварительно подготовленную коробку (от Laravel Forge). Моя новая коробка, кажется, во много раз медленнее, чем готовая коробка, которую я использовал ранее (в 5-8 раз медленнее!)
Я сравнил настройки между двумя полями, и они более или менее одинаковы, поэтому я не могу понять, что может быть причиной этого.
Например: если я сравниваю определенный фрагмент кода на одной из более сложных конечных точек, в обоих случаях реальные sql-запросы выполняются быстро, но новое окно, похоже, занимает невероятное количество времени для заполнения объектов в Laravel, или, может быть, приложение встает в очередь, чтобы ждать подключения к базе данных. Сложно сказать. Но старая коробка занимает 50 мс, а новая — 1200 мс.
Мой вопрос: какие места я должен искать, чтобы найти эту проблему, которая, кажется, находится в конфигурации сервера? Из того, что я вижу, nginx и php выглядят правильно настроенными. Проблема возникает при нулевом трафике, поэтому я не думаю, что это проблема масштабирования. Мне интересно, есть ли какая-нибудь конфигурация mysql-client или какая-то конфигурация mysql-php, которую я мог бы пропустить. Будем благодарны за любые предложения или инструменты для отладки чего-либо подобного.
Задача ещё не решена.
Других решений пока нет …