Случайное медленное время отклика приложения вылетает на beanstalk - PullRequest
1 голос
/ 25 октября 2019

У нас есть приложение php, использующее laravel на эластичном бобовом стебле, которое работает уже почти 2 года. С прошлых 2 недель (почти 3) у нас было очень высокое время отклика, что приводит к переполнению соединений с базой данных, что приводит к сбою приложения из-за слишком большого числа соединений. Единственные изменения в коде до того, как это произошло в первый раз, были месяцем ранее и были лишь незначительными изменениями.

Когда это происходит, все в разделе мониторинга beanstalk остается стабильным, за исключением целевого времени отклика, которое можетидти до 40 секунд. Поскольку ничего не поделаешь с сервером, когда он доходит до этого момента (все просто истекает), у меня нет другого выбора, кроме как повторно развернуть ту же версию приложения для сброса сервера, после этого мы можем идти в течение дня или2. прежде чем это произойдет снова.

Я реализовал телескоп Laravel, чтобы посмотреть, смогу ли я узнать что-нибудь о поступающих запросах, когда они происходят, но все, что я могу видеть, это то, что некоторые довольно простые запросы начинают принимать от 4до 150 секунд без видимой причины. Также, когда приложение стабильно, я заметил, что телескоп регистрирует некоторый медленный запрос к базе данных, который занимает до 200 мс, когда я пытался выполнить этот запрос непосредственно в рабочей среде mySQL, он занимал около 31 мс.

Телескоп - это только запрос на регистрацию,занимает более 3 секунд, может быть, я должен изменить это, чтобы войти все? Но у нас довольно большой трафик, поэтому я чувствую, что в нем будет сложно что-то найти. Я не уверен, что делать на этом этапе. Что бы вы, ребята, сделали, чтобы отладить это?

...