Как выяснить, почему Laravel Beanstalk Queue хранит память
Фон
Я использую веб-приложение с поддержкой laravel 5.3 на nginx. Мой продукт работает нормально (работает на AWS t2.medium), и моя подготовка работала нормально, пока недавно не была перегружена. Постановка - это t2.micro.
проблема
Проблема возникла, когда начали пытаться поразить конечные точки API и начали получать эту ошибку:
503 (Service Unavailable: Back-end server is at capacity)
используя htop мы получили следующее:
поэтому мы обнаружили, что наши очереди на бобовые стебли занимают безумное количество памяти.
Что я пробовал
мы использовали telnet, чтобы посмотреть, что происходит внутри beanstalk:
$~/beanstalk-console$ telnet localhost 11300
Trying 127.0.0.1...
Connected to staging-api-3.
Escape character is '^]'.
stats
OK 940
---
current-jobs-urgent: 0
current-jobs-ready: 0
current-jobs-reserved: 0
current-jobs-delayed: 2
current-jobs-buried: 0
cmd-put: 451
cmd-peek: 0
cmd-peek-ready: 0
cmd-peek-delayed: 0
cmd-peek-buried: 0
cmd-reserve: 0
cmd-reserve-with-timeout: 769174
cmd-delete: 449
cmd-release: 6
cmd-use: 321
cmd-watch: 579067
cmd-ignore: 579067
cmd-bury: 0
cmd-kick: 0
cmd-touch: 0
cmd-stats: 1
cmd-stats-job: 464
cmd-stats-tube: 0
cmd-list-tubes: 0
cmd-list-tube-used: 0
cmd-list-tubes-watched: 0
cmd-pause-tube: 0
job-timeouts: 0
total-jobs: 451
max-job-size: 65535
current-tubes: 2
current-connections: 1
current-producers: 0
current-workers: 0
current-waiting: 0
total-connections: 769377
pid: 1107
version: 1.10
rusage-utime: 97.572000
rusage-stime: 274.560000
uptime: 1609870
binlog-oldest-index: 0
binlog-current-index: 0
binlog-records-migrated: 0
binlog-records-written: 0
binlog-max-size: 10485760
id: 906b3629b01390dc
hostname: staging-api-3
кажется, ничего там нет относительно..
Вопрос
Я хотел бы иметь более прозрачное представление о том, что происходит на этих работах (то есть, какие именно работы?). Я знаю, что Laravel Horizon предоставляет такие услуги, но работает только на Laravel 5.5. Я выяснил, какие есть мониторы очереди , и попытался установить консоль beanstalk. Прямо сейчас, когда я установил его.. я получаю 52.16.%ip%.%ip% took too long to respond.
что я думаю, ожидается, учитывая, что вся машина уже застряла.
Я полагаю, что если я перезагружу машину, я смогу установить beanstalk_console просто отлично, но тогда я потеряю возможность исследовать причину проблемы на этот раз, так как это редкое явление.. Что еще я могу сделать, чтобы исследовать и посмотреть, что именно рабочие места, которые истощают процессор и почему
Обновить
Я перезапустил экземпляр, и apis работает сейчас, но я все еще получаю процессор на 100%.. что мне не хватает?