У меня есть дроплет в DigitalOcean, созданный с помощью Laravel Forge, и поскольку несколько дней назад сервер MySQL просто аварийно завершает свою работу, и единственный способ заставить его работать снова - это перезагрузить сервер (MySQL делает сервер не отвечающим).
Когда я набираю htop, чтобы увидеть список процессов, отображается несколько из /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysql.pid
(в настоящее время отображается 33 из них).
Журнал ошибок больше 1 ГБ (да, я знаю!) Ипоказывает это сообщение сотни раз:
[Предупреждение] InnoDB: Сложно найти свободные блоки в пуле буферов (21 итерация поиска)!21 неудачная попытка сбросить страницу!Попробуйте увеличить размер пула буферов.Также возможно, что в вашей версии Unix fsync очень медленный или полностью заморожен внутри ядра ОС.Тогда может помочь обновление до новой версии вашей операционной системы.Посмотрите на количество fsyncs в диагностической информации ниже.Журнал ожидающих сбросов (fsync): 0;пул буферов: 0. 167678974 чтения файла ОС, 2271392 записи файла ОС, 758043 fsyncs ОС.Запуск InnoDB Monitor для печати дальнейшей диагностики на стандартный вывод.
Эта капля работала в течение 6 месяцев, но эта проблема началась только на прошлой неделе.Единственное, что изменилось в последнее время, - это то, что теперь мы отправляем еженедельные уведомления клиентам (только тем, кто подписан на него), чтобы они знали о некоторых событиях, происходящих на текущей неделе.Это довольно интенсивный процесс, потому что у нас несколько тысяч клиентов, но мы используем преимущества Laravel Queues для обработки всего.
Это проблема, связанная с настройками MySQL?