Оптимизация работы mysql

В этом разделе я соберу те настройки mysql, что нахожу на просторах и использую в работе.

Итак, смотрим mysqladmin extended-status | grep Threads и если Threads_created  гораздо больше, чем Threads_cached (на тысячи), то есть смысл увеличить параметр thread_cache_size.

Увеличивать его стоит, пока Threads_created и Threads_cached не будут примерно одинаковы.

2. Есть такая замечательная и очень часто всеми используемая утилита mysqltuner.pl — скачиваете ее на сервер и запускаете командой perl mysqltuner.pl  и она вам покажет какие параметры в норме, а какие нужно срочно подкрутить. Параметры изменяете в файле /etc/mysql/my.cnf

3. Если у вас mysqltuner выдает восклицательные знаки на значение Temporary tables created on disk, то Вам нужно правильно настроить параметр sort_buffer_size

4. Вообще, главное понимать какие базы у вас на сервере, если это myisam, то мы крутим одни параметры, если же innodb, то другие.

По возможности рекомендую всем уходить от myisam, но, к сожалению, они еще часто встречаются в практике.

5. sort_buffer_size — какое оптимальное значение? Нужно глянуть на SHOW GLOBAL STATUS. Большое значение переменной состояния Sort_merge_passes указывает на необходимость увеличения sort_buffer_size. Но будьте осторожны, иногда на больших таблицах заметен обратный эффект, другими словами, тормоза системы.

Оставить комментарий