Оптимизация настроек MySQL с помощью Mysqltuner
Чтобы данные анализа были наиболее полезными, сервер Mysql должен проработать некоторое время без смены параметров конфигурации и без перезагрузок, по рекомендации самого Mysqltuner не менее 24 часов.
Mysqltuner — это perl-скрипт, который анализирует статистику работы Mysql и выдает свои рекомендации по оптимизации настроек Mysql сервера.
Также, можно произвести установку:
Debian/Ubuntu:
# apt-get -y install mysqltuner
CentOS:
# yum -y install mysqltuner
Теперь можно запускать Mysqltuner.
# mysqltuner
После запуска скрипт произведет анализ и выдаст следующую информацию:
# perl mysqltuner.pl --user root --pass rootpassword
>> MySQLTuner 1.2.0 - Major Hayden <[email protected]>
>> Bug reports, feature requests, and downloads at http://mysqltuner.com/
>> Run with '--help' for additional options and output filtering
[OK] Logged in using credentials passed on the command line
-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.5.62
[OK] Operating on 64-bit architecture
-------- Storage Engine Statistics -------------------------------------------
[--] Status: -Archive -BDB -Federated +InnoDB -ISAM -NDBCluster
[--] Data in PERFORMANCE_SCHEMA tables: 0B (Tables: 17)
[!!] InnoDB is enabled but isn`t being used
[OK] Total fragmented tables: 0
-------- Security Recommendations -------------------------------------------
[OK] All database users have passwords assigned
-------- Performance Metrics -------------------------------------------------
[--] Up for: 36m 42s (112 q [0.051 qps], 35 conn, TX: 74K, RX: 13K)
[--] Reads / Writes: 90% / 10%
[--] Binary logging is disabled
[--] Total buffers: 160.0M global + 944.0K per thread (50 max threads)
[OK] Maximum reached memory usage: 160.9M (16.16% of installed RAM)
[OK] Maximum possible memory usage: 206.1M (20.69% of installed RAM)
[OK] Slow queries: 0% (0/112)
[OK] Highest usage of available connections: 2% (1/50)
[OK] Aborted connections: 2.86% (1/35)
[!!] Query cache is disabled
[OK] Temporary tables created on disk: 0% (0 on disk / 10 total)
[!!] Thread cache is disabled
[!!] Table cache hit rate: 8% (4 open / 45 opened)
[OK] Open file limit used: 0% (6/1K)
[OK] Table locks acquired immediately: 100% (58 immediate / 58 locks)
-------- Recommendations -----------------------------------------------------
General recommendations:
Restrict Host for user@% to user@SpecificDNSorIp
MySQL started within last 24 hours - recommendations may be inaccurate
Enable the slow query log to troubleshoot bad queries
Set thread_cache_size to 4 as a starting value
Increase table_open_cache gradually to avoid file descriptor limits
Read this before increasing table_open_cache over 64: http://bit.ly/1mi7c4C
Beware that open_files_limit (1024) variable
should be greater than table_open_cache ( 4)
Variables to adjust:
query_cache_size (>= 8M)
thread_cache_size (start at 4)
table_open_cache (> 4)
key_buffer_size (> 100.0K)
Особое внимание стоит уделить строкам, помеченным символами [!!] и секции Recommendations.
Параметры указанные после строки Variables to adjust нужно изменить в файле my.cnf, в соответствии с рекомендациями Mysqltuner. Если указанного параметра нет в файле my.cnf, то его следует дописать.
Расположение конфигурационного файла my.cnf:
Debian/Ubuntu:
/etc/mysql/my.cnf
CentOS:
/etc/my.cnf
После внесения изменений в файл my.cnf нужно перезагрузить Mysql-сервер:
Debian/Ubuntu:
# /etc/init.d/mysql restart
CentOS 6:
# /etc/init.d/mysqld restart
Centos 7
# systemctl restart mariadb
После изменения конфигурации Mysql-сервер должен проработать минимум 24 часа без перезагрузок. Затем, можно снова запустить утилиту Mysqltuner и проанализировать вывод статистики. Таким образом, можно привести конфигурационный файл my.cnf и работу Mysql-сервера, соответственно, к оптимальному состоянию.
Рейтинг хороших SSD VPS по ссылке.
Комментарии ()