MySQL настройка · 1 min read · Feb 01, 2026

Настройка производительности MySQL с помощью MySQLTuner

Настройка производительности MySQL с помощью MySQLTuner

Версия 1.0
Автор: Фалько Тимме

MySQLTuner — это Perl-скрипт, который анализирует производительность вашего MySQL и, основываясь на собранной статистике, дает рекомендации, какие переменные вам следует настроить для повышения производительности. Таким образом, вы можете настроить свой файл my.cnf, чтобы извлечь последний кусочек производительности из вашего MySQL-сервера и сделать его более эффективным.

Этот документ предоставляется без каких-либо гарантий! Я не даю никаких гарантий, что это сработает для вас!

1 Использование MySQLTuner

Вы можете скачать скрипт MySQLTuner следующим образом:

wget http://mysqltuner.com/mysqltuner.pl

Чтобы запустить его, мы должны сделать его исполняемым:

chmod +x mysqltuner.pl  

После этого мы можем его запустить. Вам нужен ваш пароль root для MySQL:

./mysqltuner.pl

server1:~# ./mysqltuner.pl

  MySQLTuner 0.9.8 - Майор Хейден < [email protected] >
  Сообщения об ошибках, запросы на функции и загрузки на http://mysqltuner.com/
  Запустите с ’–help’ для дополнительных опций и фильтрации вывода
Пожалуйста, введите ваш административный логин MySQL: <– root
Пожалуйста, введите ваш административный пароль MySQL: <– вашпарольrootsql

——– Общая статистика ————————————————–
[–] Пропущена проверка версии для скрипта MySQLTuner
[!!] Ваша версия MySQL 4.1.11-Debian_etch1-log является устаревшим ПО!  Обновитесь скоро!
[OK] Работа на 32-битной архитектуре с менее 2ГБ ОЗУ

——– Статистика движка хранения ——————————————-
[–] Статус: +Archive -BDB -Federated +InnoDB +ISAM -NDBCluster
[–] Данные в таблицах MyISAM: 301M (Таблицы: 2074)
[–] Данные в таблицах HEAP: 379K (Таблицы: 9)
[!!] InnoDB включен, но не используется
[!!] ISAM включен, но не используется
[!!] Всего фрагментированных таблиц: 215

——– Метрики производительности ————————————————-
[–] Работа в: 12d 18h 33m 30s (1B q [1K qps], 185K conn, TX: 3B, RX: 377M)
[–] Чтения / Записи: 78% / 22%
[–] Всего буферов: 2.6M на поток и 58.0M глобально
[OK] Максимально возможное использование памяти: 320.5M (20% установленной ОЗУ)
[OK] Медленные запросы: 0% (17/1B)
[OK] Наивысшее использование доступных соединений: 32% (32/100)
[OK] Размер буфера ключей / всех индексов MyISAM: 16.0M/72.3M
[OK] Коэффициент попадания в буфер ключей: 99.9%
[OK] Эффективность кэша запросов: 99.9%
[!!] Обрезки кэша запросов в день: 47549
[OK] Сортировки, требующие временных таблиц: 0%
[!!] Временные таблицы, созданные на диске: 28%
[OK] Коэффициент попадания в кэш потоков: 99%
[!!] Коэффициент попадания в кэш таблиц: 0%
[OK] Использованный лимит открытых файлов: 12%
[OK] Блокировки таблиц, приобретенные немедленно: 99%
[!!] Прерванные соединения: 20%

——– Рекомендации —————————————————–
Общие рекомендации:
Добавьте skip-innodb в конфигурацию MySQL, чтобы отключить InnoDB
Добавьте skip-isam в конфигурацию MySQL, чтобы отключить ISAM
Запустите OPTIMIZE TABLE, чтобы дефрагментировать таблицы для лучшей производительности
Включите журнал медленных запросов, чтобы устранить неправильные запросы
При внесении изменений сделайте tmp_table_size/max_heap_table_size равными
Сократите ваши запросы SELECT DISTINCT без LIMIT
Постепенно увеличивайте table_cache, чтобы избежать ограничений дескрипторов файлов
Ваши приложения не закрывают соединения MySQL правильно
Переменные для настройки:
query_cache_size (> 16M)
tmp_table_size (> 32M)
max_heap_table_size (> 16M)
table_cache (> 64)

server1:~#

Вы должны внимательно прочитать вывод, особенно рекомендации в конце. Он показывает, какие переменные вам следует настроить в разделе [mysqld] вашего my.cnf (на Debian и Ubuntu полный путь — /etc/mysql/my.cnf). Каждый раз, когда вы изменяете свой my.cnf, убедитесь, что вы перезапустили MySQL. Затем вы можете снова запустить MySQLTuner, чтобы увидеть, есть ли у него дополнительные рекомендации для улучшения производительности MySQL. Таким образом, вы можете оптимизировать MySQL шаг за шагом.

2 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.