MySQL на виртуальной машине постепенно замедляется, какая может быть причина?
Эффект проявляется через несколько месяцев, приблизительно около полугода. На выделенном сервере делаю виртуализацию KVM и поднимаю виртуалку на QCOW2 диске в виде образа/файла предустановленного размера. Запускаю сервер базы данных на нем и больше ничего. Всё работает хорошо несколько месяцев, и затем начинает постепенно замедляться - растет количество медленных запросов Slow Log.
Казалось бы линейно с ростом нагрузки, но нет. Если сделать реинстал виртуалки всё нормализуется. Я точно не помню, но кажется дополнительно влиял реинстал ОС на физическом сервере. Мне кажется, или это не совпадение? Ведь реинстал виртуалки/сервера раз в квартал/полгода это не выход. Знать бы причину такого явления. Можете подсказать, из-за чего это происходит?
База около 20GB запросов много. Таблицы большие, по 25M строк. Медленными запросы становятся независимо от их сложности и появляются сразу пачками. Судя по всему проблема именно в диске/образе - но в чем конкретно, не знаю. Как я понял, растет скорость отклика диска, а с ним и запросы замедляются.
Давно и долго изучаю данный вопрос, дело не в виртуалке вовсе. Беда любых современных гипервизоров, несущих на себе более одной виртуалки, в совместном доступе к диску. Каков ваш load average на гипервизоре? Наверняка, виртуалка с MySQL не одна?
на гипервизоре рост от октября с 1 до 8 сейчас. На виртуалке от 0,5 до 5
Да, сейчас 6 виртуалок на этом сервере. Процессора и памяти хватает более чем.