У меня есть выделенный сервер с Ubuntu 20.04, cPanel 106.11, MySQL 8, PHP 8.1, Elasticsearch 7.17.8, и я запускаю magento 2.4.5-p1. Config Server Security & Firewall включен. Каждые пару дней я получаю предупреждение о мониторинге, в котором говорится, что мой сервер не отвечает на ping, и хост должен выполнить жесткую перезагрузку, они расстраиваются из-за этого и говорят, что отключат мониторинг, если я не разберусь с этим, поскольку они проверили все оборудование что хорошо. Это происходит в разное время и обычно ночью.
Я просмотрел системный журнал, журнал mysql, журнал elasticsearch, журналы magento 2, журнал apache, kern.log и не могу найти причину проблемы. Я включил «sar», и использование оперативной памяти в это время составляет 64%, использование процессора составляет от 5 до 10%.
Что еще я могу посмотреть, чтобы попытаться диагностировать эту проблему?
Дополнительная информация, запрошенная Уилсоном:
select count - https://justpaste.it/6zc95
show global status - https://justpaste.it/6vqvg
show global variables - https://justpaste.it/cb52m
full process list - https://justpaste.it/d41lt
status - https://justpaste.it/9ht1i
show engine innodb status - https://justpaste.it/a9uem
top -b -n 1 - https://justpaste.it/4zdbx
top -b -n 1 -H - https://justpaste.it/bqt57
ulimit -a - https://justpaste.it/5sjr4
iostat -xm 5 3 - https://justpaste.it/c37to
df -h, df -i, free -h and cat /proc/meminfo - https://justpaste.it/csmwh
htop - https://freeimage.host/i/HAKG0va
Сервер использует диски nvme, 32 ГБ ОЗУ, 6 ядер, MySQL работает на том же сервере, что и litespeed.
Сервер больше не отключался с момента публикации этого сообщения, но центр обработки данных обычно перезагружается в течение 15–20 минут, и в 99% случаев это происходит в одночасье. Сервер недоступен по ssh при сбое.
Разместите ТЕКСТОВЫЕ данные на justpaste.it и поделитесь ссылками. Дополнительная очень полезная информация об ОС включает, пожалуйста, htop 1-ю страницу, если она доступна, TERMINATE, top -b -n 1 для наиболее активных приложений, top -b -n 1 -H для получения подробной информации об использовании памяти и процессора ваших потоков mysql, ulimit - a для списка ограничений, iostat -xm 5 3 для IOPS по устройствам и количеству ядер/процессоров, df -h для используемого — свободное место на устройстве, df -i для информации об индексном узле по устройству, free -h для используемого — свободной памяти: и Swap:, cat /proc/meminfo включает VMallocUused для анализа настройки рабочей нагрузки сервера и предоставления рекомендаций.
Пожалуйста, рассмотрите публикацию последних 100 строк журнала ошибок после сбоя перед перезапуском.
Спасибо, Уилсон, я добавил ссылки на запрошенную информацию.
Не могли бы вы поделиться названием хостинговой организации? Пожалуйста, используйте утилиту myip.ms, чтобы убедиться, что вы действительно находитесь на ВЫДЕЛЕННОМ сервере. Сколько месяцев приложение работает на текущем хосте? Результаты вашего сообщения на justpaste.it/6zc95 показывают, что data_free составляет 85% от data_length, и это говорит мне о том, что многие из ваших 802 таблиц НЕОБХОДИМО ОПТИМИЗИРОВАТЬ, чтобы уменьшить накладные расходы в следующем запланированном окне обслуживания.
Скорость в секунду = RPS
Предложения для вашего экземпляра (должны быть доступны в вашей cpanel, поскольку все они являются динамическими переменными)
connect_timeout=30 # from 10 seconds to reduce aborted_connects RPHr of 75
innodb_io_capacity=900 # from 200 to use more of NVME IOPS capacity
thread_cache_size=36 # from 9 to reduce threads_created RPHr of 75
read_rnd_buffer_size=32768 # from 256K to reduce handler_read_rnd_next RPS of 5,805
read_buffer_size=524288 # from 128K to reduce handler_read_next RPS of 5,063
Существует множество других возможностей для повышения производительности вашего экземпляра. Пожалуйста, просмотрите профиль для получения контактной информации. Мы продвигаем один вопрос/один ответ, запланированный для этой платформы.
Спасибо. Я обновил эти значения, так что мы посмотрим, как все пойдет, и я свяжусь с вами через детали в вашем профиле, если это необходимо. Я приму это как решение, потому что это предложение, несомненно, повысит производительность, даже если сбои еще не устранены.
Пожалуйста, запросите дополнительную информацию о БД. Размер оперативной памяти, количество ядер, какие-либо устройства SSD или NVME на хост-сервере MySQL? Разместите ТЕКСТОВЫЕ данные на justpaste.it и поделитесь ссылками. Из вашего корня входа SSH текстовые результаты: A) SELECT COUNT(*), sum(data_length), sum(index_length), sum(data_free) FROM information_schema.tables; B) ПОКАЗАТЬ ГЛОБАЛЬНЫЙ СТАТУС; минимум через 24 часа UPTIME C) ПОКАЗАТЬ ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ; D) ПОКАЗАТЬ ПОЛНЫЙ СПИСОК ПРОЦЕССОВ; д) СТАТУС; не ПОКАЗАТЬ СТАТУС, просто СТАТУС; G) ПОКАЗАТЬ СТАТУС INNODB ДВИГАТЕЛЯ; для анализа настройки рабочей нагрузки сервера, чтобы предоставить предложения.