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

innodb_stats_on_metadata — позволяет собирать статистику при операциях метаданных, например SHOW TABLE STATUS при доступе к таблицам INFORMATION_SCHEMA.TABLES или INFORMATION_SCHEMA.STATISTICS.
В новых версиях MySQL параметр innodb_stats_on_metadata отключен по умолчанию, что позволяет ускорить работу с этими таблицами.

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

Как изменить default-storage-engine в MySQL

При создании таблицы используется опция ENGINE, которая указывает механизм хранения, если эта опция не указана в SQL запросе, то используется механизм хранения по умолчанию, который указан в файле конфигурации MySQL сервера либо при его запуске mysqld —default-storage-engine=InnoDB.

Читать далее «Как изменить default-storage-engine в MySQL»

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

thread_cache_size — отвечает за кэширование потоков клиентов после того как они отключаются, чтобы их можно было повторно использовать, например когда к серверу выполняются сотни подключений в секунду, то этот параметр может очень сильно повысить производительность.

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

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

Значение по умолчанию 1, возможные значения 0-2.

0 — Журналы записываются и сбрасываются на диск один раз в секунду. Транзакции, журналы которых не были очищены, могут быть потеряны в результате сбоя.
1 — Журналы записываются и сбрасываются на диск при каждой фиксации транзакции.
2 — Журналы записываются после каждой фиксации транзакции и сбрасываются на диск один раз в секунду. Транзакции, журналы которых не были очищены, могут быть потеряны в случае сбоя.

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

Как изменить 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 на новое место»