Включите кэширование MySQL и предотвратите сбой
У меня вопрос по поводу кэширования MySQL.
Мы использовалиmysqltuner.pl
в прошлом и включил параметры кэширования, что снизило использование ресурсов, особенно загрузку ЦП.
Но нашей главной катастрофой стал внезапный перезапуск сервера! После перезапуска MySQL произошел сбой и возникли некоторые ошибки InnoDB (и предлагалось восстановление), я думаю, потому, что некоторые данные находились в памяти и не записывались в таблицы или файлы журналов.
Теперь я снова думаю о кэшировании из-за огромного использования ресурсов MySQL. Пожалуйста, дайте мне знать о вашем опыте.
Влияет ли кеширование на сбой MySQL?
1 ответ
Предоставленные самим себе, базы данных не потребляют слишком много ресурсов ЦП и памяти.
Однако они с радостью сделают это, если их попросят сделать это из-за плохо написанных или плохо выполняющихся запросов.
Я подозреваю, что здесь произошло то, что вы включили кеширование, которое требует дополнительной памяти для экземпляра mysql, что, в свою очередь, разбудило «дракона», то есть диспетчера нехватки памяти машины, и это убило ваш экземпляр mysql!
В первую очередь старайтесь исправить плохо выполняющиеся запросы , а не базу данных или сервер, на котором они выполняются. Получите план выполнения (объяснения) для этих запросов и настройте его. Я часто обнаруживаю, что достаточно всего нескольких ошибочных запросов, чтобы оказать огромное влияние на базу данных.
Вот кое-что, чем я [тоже] регулярно ужасаю разработчиков:
- Администратор базы данных, потративший несколько дней на настройку базы данных и сервера, возможно, даст вам… Повышение производительности на
два или три процентных пункта . - Разработчик, потративший несколько дней на настройку нескольких ошибочных запросов, вероятно, принесет вам… повышение производительности на
два или три порядка .