Amazon EC2 Linux PHP замедляется после каждого развертывания - PullRequest
0 голосов
/ 24 сентября 2018

У меня на сервере EC2 работает приложение Laravel, управляемое базой данных RDS MySql.Каждый раз, когда я развертываю приложение, оно работает нормально, но примерно через 1 неделю использования оно становится все медленнее, пока в конечном итоге сайт вообще не загрузится (для любого посетителя) и не произойдет 502 ошибки.Один раз я повторно развертываю приложение (таким образом, перезагружая сервер), оно работает нормально, затем начинает снова замедляться.

Что может быть ВОЗМОЖНЫМ причиной устойчивого истощения ресурсов для такого приложения?Попробовав журналы Cloudwatch и сервера, я не могу найти ни одного ресурса, который близок к его пределу, но поведение сохраняется.(Процессор, кредиты процессора, пакетная память, память и т. Д.)

Спасибо.

1 Ответ

0 голосов
/ 24 сентября 2018

Ошибка 502 указывает на проблему со связью между веб-сервером и обработчиком приложения - скорее всего, это вызвано тем, что вашему экземпляру не хватает памяти из-за того, что он является микро (предположительно).В этом случае я также предполагаю, что вы используете PHP-FPM.

Попробуйте перезапустить только PHP-FPM и посмотреть, не станет ли ваш сайт снова отзывчивым.Это скажет вам, что ваша проблема, скорее всего, возникает на прикладном уровне.

Журналы ошибок Tail Web Server - вы должны иметь некоторое представление о том, что является причиной проблемы здесь, и если вы не уверены в публикации.

Если ваше приложение не отвечает на веб-сервер в отведенное время, это также вызовет проблему - проверьте ваш PHP.ini на наличие следующего параметра:

max_execution_time = 30

Если вы используете Nginx, вам также потребуетсяИзмените конфигурацию, чтобы увеличить время ожидания здесь.Найдите следующий параметр:

fastcgi_connect_timeout 300;

Возможно, вы захотите создать файл подкачки после того, как вы это сделали.Либо это, либо увеличьте размер вашего экземпляра.Ваша проблема, скорее всего, не связана с RDS или сетью (очевидно) из-за инфраструктуры, на которой вы запускаете приложение.

Примечание OPS Я проверил журналы ошибок, используя следующий метод: https://www.bigappledesigns.com/2013/06/how-to-access-apache-web-server-httpd-error-logs-for-amazon-ec2-linux-and-most-other-linux-varieties-also/ Это выявило несколько сообщений «недостаточно памяти».

...