Как изменить innodb_read_io_threads в MySQL

Приведу пример изменения innodb_read_io_threads в MySQL.
Значение innodb_read_io_threads определяет количество потоков ввода-вывода для операций чтения в InnoDB. Значение по умолчанию 4, минимально возможное 1, максимальное 64.

Читать далее «Как изменить innodb_read_io_threads в MySQL»

Как изменить innodb_write_io_threads в MySQL

Приведу пример изменения innodb_write_io_threads в MySQL.
Значение innodb_write_io_threads определяет количество потоков ввода-вывода для операций записи в InnoDB. Значение по умолчанию 4, минимально возможное 1, максимальное 64.

Читать далее «Как изменить innodb_write_io_threads в MySQL»

Как изменить innodb_thread_concurrency в MySQL

Приведу пример изменения innodb_thread_concurrency в MySQL.
Так как InnoDB использует потоки операционной системы для обработки пользовательских транзакций, то параметр innodb_thread_concurrency позволяет ограничить их. По умолчанию в новых версиях MySQL значение равно 0, это означает что нет ограничения на количество одновременно выполняемых потоков и это является правильным для современных серверов. Если же вы хотите ограничить, то при достижении лимита лишние потоки будут ожидать определенное количество микросекунд указанное в параметре innodb_thread_sleep_delay, а потом попытаются попасть в очередь. Также в MySQL 5.6.3 и выше добавлен параметр innodb_adaptive_max_sleep_delay который позволяет указать максимальное количество микросекунд для параметра innodb_thread_sleep_delay и тогда InnoDB автоматически регулирует innodb_thread_sleep_delay.

Читать далее «Как изменить innodb_thread_concurrency в MySQL»

Изменение max_allowed_packet в MySQL

max_allowed_packet — максимальный размер данных, которые могут быть переданы за один запрос. Следует увеличить значение при появлении ошибки «Packet too large», чтобы подключение не обрывалось.
Значение по умолчанию для MySQL клиента 16 Мб, для MySQL сервера 64 Мб.

Читать далее «Изменение max_allowed_packet в MySQL»

Перенос каталога данных MySQL на новое место

В этой статье я опишу процесс переноса каталога данных MySQL в отдельное место, а именно на рейд 10 уровня из 4 дисков, это позволит увеличить производительность.

Читать далее «Перенос каталога данных MySQL на новое место»

Как преобразовать таблицы MySQL из MyISAM в InnoDB

Так как InnoDB надежнее для хранения важных данных и производительнее при частых запросах на запись, то преобразую таблицы MyISAM в InnoDB, в старых базах данных, в одной из компаний.

Читать далее «Как преобразовать таблицы MySQL из MyISAM в InnoDB»

MySQL. Несоответствие времени в логах ошибок и медленных запросов

Однажды включал логи медленных запросов и заметил что пишется время с неверным часовым поясом.

Читать далее «MySQL. Несоответствие времени в логах ошибок и медленных запросов»

Как изменить join_buffer_size в MySQL

Приведу пример изменения join_buffer_size в MySQL.
join_buffer_size определяет размер буфера для сканирования индекса и объединений без индексов. Рекомендую добавить индексы либо немного увеличить join_buffer_size (но в этом случае будет выполняться полное сканирование таблицы).

Читать далее «Как изменить join_buffer_size в MySQL»

Как включить Slow Query Log в MySQL

Включение slow_query_log и log_queries_not_using_indexes помогут выявить медленные запросы и запросы без индексов, которые влияют на производительность MySQL сервера.

Читать далее «Как включить Slow Query Log в MySQL»