@nefedovgeka

Почему упала производительность базы MySQL при переносе на новый сервер?

Долгое время пользовались выделенным сервером хостинга beget, но пришло время расширяться, купили сервер с новым топовым железом (SuperMicro H11SSL, EPYC 7551, NVME Samsung PM1725b, 2666ггц), производительность железа как минимум от 2 раз выше старого сервера (X11SSE-F, E3-1275 v5, SAMSUNG MZ7KM480)
Установили Proxmox 6,1, создали два LXC контейнера, для базы и веб сервера, поставили последнюю версию MySQL, перенесли все данные и начали тестировать, в итоге производительность базы данных на некоторых запросах в 2 раза ниже чем на старом сервере, меняли настройки базы, перерыли рекомендации, но не помогает добиться хотя-бы той-же производительности, есть подозрение что на арендованом стоит Percona, но даже если так, то не может же она давать прирост в 2 раза. Где бутылочное горлышко?
Может кто сталкивался с подобной проблемой, хочется чтобы железо выдавало полную производительность.
  • Вопрос задан
  • 955 просмотров
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Самый тупой вариант: в "самой последней версии mysql" query cache отключен по умолчанию. Но если речь о конкретном запросе с воспроизводимым результатом, то наверное дело не в этом.

Поэтому надo задавать не вопрос "почему упала в два раза после переезда", а надо разбираться с конкретным запросом.
Вообще, вопрос конечно из серии "Дорогие учёные. У меня который год в подполе происходит подземный стук. Объясните, пожалуйста, как он происходит". Неужели так трудно задать конкретный вопрос?
  • создали два LXC контейнера... С какими характеристиками?
  • поставили последнюю версию MySQL... Какую?
  • на некоторых запросах... Каких?
  • меняли настройки базы... Какие?
  • перерыли рекомендации... Какие?


Всё-таки, вера советского человека в волшебную палочку или там цветик-семицветик нестребима. Что ламер в соседнем вопросе, что владелец прошаренного сервера, могут осилить только один сакраментальный вопрос, "Подскажите, в чем может быть проблема?". С наивной верой в то что решение проблемы - это не сложный и многоступенчатый процесс, для которого нужно предоставить как можно больше информации, а где-то просто есть заветный гвоздик по которому надо просто ударить волшебным молоточком, и всё сразу заработает как надо.

Ну так-то в принципе такой гвоздик есть, называется innodb_buffer_pool_size. Но вы ведь по нему тоже пробовали стукнуть, когда "пробовали настройки"? Это же тоже важно в вопросе писать, чтобы не превращать отвечающих в гадалок на базаре
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@vitaly_il1
DevOps Consulting
1) Проверьте скорость дисков на старом и новом сервере
2) Сколько памяти у MySQL на старом и новом сервере?
3) Покажите ваш my.cnf
Ответ написан
Комментировать
Jump
@Jump
Системный администратор со стажем.
Ну для начала - у вас виртуализация, надо смотреть что там в настройках накрутили и какие там реальные характеристики.
Ну и замена версии SQL тоже бесследно не всегда проходит.
Ответ написан
Комментировать
sam002
@sam002
Линуксойд, кодер, немного физик.
Откатите mysql до 5.7 и проверьте производительность. Планировщик в 8.0 переписан и ещё очень часто пропускает использование индексов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы