Рейтинг:0

Mariadb использует весь процессор на Ubuntu VPS и делает сервер не отвечающим

флаг bd

У меня есть несколько веб-сайтов электронной коммерции на одном Ubuntu VPS с 4 ядрами ЦП и 16 ГБ ОЗУ.

Ничего особенно интенсивного, он отлично работал даже на виртуальном хостинге.

Однако теперь у меня проблема с mariadb. Как только служба mysql запущена, она начинает запускать все больше и больше процессов, пока не займет весь ЦП, а затем веб-страница будет открываться вечно.

Я ничего не трогал в конфигурации, я бэкэнд-разработчик и не особо занимаюсь администрированием серверов, поэтому любые советы будут очень признательны.

популярное использование

введите описание изображения здесь

vidarlo avatar
флаг ar
Насколько велика ваша база данных? Вы регистрируете медленные запросы? Сколько трафика вы видите? Что вообще показывают логи mariadb?
Petr Chloupek avatar
флаг gb
ПОКАЗАТЬ СПИСОК ПРОЦЕССОВ; и включите slow_log, а также dmesg найдите любой isus, связанный с жестким диском. Что-нибудь интересное?
cvetan avatar
флаг bd
Он показывает группу процессов с одним запросом, которые застряли в состоянии отправки данных. Я не менял этот запрос в течение некоторого времени. Возможно, это не самое лучшее в мире, но мне интересно, почему это началось именно сейчас.
vidarlo avatar
флаг ar
Можете ли вы добавить больше деталей на основе того, что вы нашли на свой вопрос?
cvetan avatar
флаг bd
Да. Спасибо за помощь. Похоже, что трафик на веб-сайте увеличился за последние несколько дней, поэтому возникла проблема. В запросе было предложение GROUP_CONCAT и немного COUNT, поэтому он не очень легкий. Я переключил это на отдельный запрос, и вода снова начала течь. :) Еще раз спасибо.
djdomi avatar
флаг za
если это решено, напомните, что вы должны добавить ответ
Wilson Hauck avatar
флаг jp
Запрос дополнительной информации, пожалуйста. Любые устройства SSD или NVME на хост-сервере MySQL? Опубликуйте на pastebin.com и поделитесь ссылками. Из вашего корня входа SSH, текстовые результаты: A) ВЫБРАТЬ COUNT(*) FROM information_schema.tables; B) ПОКАЗАТЬ ГЛОБАЛЬНЫЙ СТАТУС; минимум через 24 часа UPTIME C) ПОКАЗАТЬ ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ; D) ПОКАЗАТЬ ПОЛНЫЙ СПИСОК ПРОЦЕССОВ; д) СТАТУС; не ПОКАЗАТЬ СТАТУС, просто СТАТУС; И очень полезная информация об ОС, включая: ulimit -a для списка ограничений, iostat -xm 5 3 для IOPS по устройствам и количеству ядер/процессоров, для анализа настройки рабочей нагрузки сервера, чтобы предоставить предложения.
флаг ua
(Увы, состояния процесса, такие как «отправка данных», обычно бесполезны.) Нам нужно увидеть полный запрос плюс `SHOW CREATE TABLE`.
cvetan avatar
флаг bd
На данный момент проблема, кажется, исчезла, по крайней мере, в некоторой степени, с рассматриваемым фиксированным запросом. Я рассмотрю ваши предложения, проверю их и вернусь к вам с информацией.
Рейтинг:0
флаг ua

У тебя 16гб ОЗУ? Но innodb_buffer_pool_size только 128М? Измените это на 8G. (Я не могу быть уверен, что это поможет процессору.)

Посмотрите в Медленный журнал для «худшего» запроса; затем попросите нас помочь в его ускорении.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.