У меня есть сервер EC2, на котором запущено приложение Laravel, управляемое базой данных RDS MySql. Каждый раз, когда я развертываю приложение, оно работает нормально, но примерно через 1 неделю использования оно становится все медленнее, пока сайт не загрузится вообще (для любого посетителя) и не произойдет 502 ошибки. Однажды я повторно развернул приложение (таким образом перезагрузив сервер), оно работает нормально, затем начинает снова замедляться.
Что может быть ВОЗМОЖНЫМ причинами постоянного истощения ресурсов для такого приложения? Попробовав журналы Cloudwatch и сервера, я не могу найти ни одного ресурса, который близок к его пределу, но поведение сохраняется. (Процессор, кредиты процессора, пакетная память, память и т. Д.)
Благодарю.
Ошибка 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- также/
Это выявило несколько сообщений «недостаточно памяти».
Других решений пока нет …