MySQLTuner (http://rackerhacker.com/mysqltuner/) представляет собой Perl скрипт,
анализирующий статистику работы MySQL сервера и на ее основе дающий рекомендации по оптимизации настойки СУБД.Загружаем и выполняем скрипт:
wget http://mysqltuner.com/mysqltuner.pl
chmod +x mysqltuner.pl
./mysqltuner.plВводим логин и пароль для подключения к MySQL, после чего скрипт выводит наиболее интересные
параметры статистики работы СУБД и рекомендации по тюнингу настроек, примерно в таком виде:
General recommendations:
Add skip-innodb to MySQL configuration to disable InnoDB
Add skip-isam to MySQL configuration to disable ISAM
Run OPTIMIZE TABLE to defragment tables for better performance
Enable the slow query log to troubleshoot bad queries
When making adjustments, make tmp_table_size/max_heap_table_size equal
Reduce your SELECT DISTINCT queries without LIMIT clauses
Increase table_cache gradually to avoid file descriptor limits
Your applications are not closing MySQL connections properlyVariables to adjust:
query_cache_size (> 16M)
tmp_table_size (> 32M)
max_heap_table_size (> 16M)
table_cache (> 64)
URL: http://www.howtoforge.com/tuning-mysql-performance-with-mysq...
Обсуждается: http://www.opennet.me/tips/info/1754.shtml
Illegal division by zero at ./mysqltuner.pl line 509, <> line 2 (#2)
(F) You tried to divide a number by 0. Either something was wrong in
your logic, or you need to put a conditional in to guard against
meaningless input.
Uncaught exception from user code:
Illegal division by zero at ./mysqltuner.pl line 509, <> line 2.
at ./mysqltuner.pl line 509
main::calculations() called at ./mysqltuner.pl line 858
Сыроват-с, но идея хорошая, пользуюсь sh-версией этого скрипта.
Ничего так софтина. Но сервер должен быть достаточно долгое время загружен, чтобы увидеть более-менее адекватную картину.
>по оптимизации настойки СУБД.а не плохо звучит! :-)
очень порадовала... мой запрос с 15 сек до 2х сократился..
автору зачет
вопрос.
innodb_buffer_pool_size значение 8388608, то есть показывает в байтах я так понимаю.
можно указать innodb_buffer_pool_size 100М
в итоге будет 100 метров?
> можно указать innodb_buffer_pool_size 100МДа. Буква "М" на конце значит метры. Ещё можно в килобайтах указать, "k".
Illegal division by zero at ./mysqltuner.pl line 509, <> line 2 (#2)
(F) You tried to divide a number by 0. Either something was wrong in
your logic, or you need to put a conditional in to guard against
meaningless input.
Uncaught exception from user code:
Illegal division by zero at ./mysqltuner.pl line 509, <> line 2.
at ./mysqltuner.pl line 509
main::calculations() called at ./mysqltuner.pl line 858Подскажите как вылечить это?
Перезагрузи мускл, мне помогло :)
Хороший скрипт, удалось добиться лучшей производительности MySQL, но одно смущает.. на сервере 1Gb... так вот после увеличения параметров по совету скрипта.. после перезагрузки предлагается опять и опять увеличивать эти самые Mb... дошел до того, что сам скрипт сказал - у вас 90% от 1Gb - разрешено для MySQL... тут явно косяк разработчиков или же простота анализа...
--forcemem <size> Amount of RAM installed in megabytes
--forceswap <size> Amount of swap memory configured in megabytes./mysqltuner.pl --forcemem 2048
попробуйте так.
Я вот выполняю вот это :
wget http://mysqltuner.com/mysqltuner.pl
chmod +x mysqltuner.pl
./mysqltuner.plи он сразу рекомендации выдает, а сделать чтоб он поработал...