Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Включение параметра innodb_file_per_table и замедление работы mysql.exe
|
|||
|---|---|---|---|
|
#18+
Терминал с MariaDB 5.5 / Windows XP / 512 М памяти. По умолчанию innodb_file_per_table был отключен. Включал, как описано здесь: http://michael-xiii.blogspot.ru/2011/10/mysql-innodbfilepertable.html , за исключением одного момента: т.к. у меня база одна, выполнил полную переустановку MariaDB с нуля. После развертывания базы данных заметил один неприятный эффект: все операции, выполняемые через утилиту командной строки mysql.exe (а это весь импорт данных из внешних источников) стали как минимум раза в 2 медленнее. В то же время на основном функционале программы изменение параметра существенно не отразилось. Для чистоты эксперимента установил на другой терминал MariaDB 10.1, в котором innodb_file_per_table по умолчанию был включен (и в свое время я отказался от этой версии как раз по причине медленной работы mysql.exe). Отключил этот параметр - так и есть, mysql.exe в 10.1 стал работать так же быстро, как и в 5.5 с отключенным innodb_file_per_table. Собственно вопрос: почему изменение innodb_file_per_table негативно влияет именно на утилиту командной строки, и есть ли способы обойти эту проблему? Строка, отправляемая mysql.exe: mysql -uroot -hlocalhost -p***** -P 3306 -DMyDatabase <"C:\Script.sql" . В скрипте никаких особых изысков не используется. Все таблицы в базе innodb. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2017, 16:17 |
|
||
|
Включение параметра innodb_file_per_table и замедление работы mysql.exe
|
|||
|---|---|---|---|
|
#18+
A-MaR, Сколько таблиц всего? Вы уверены, что влияет именно innodb_file_per_table, а не innodb_flush_log_at_trx_commit, который могли после переустановки забыть в дефолтном значении (а именно дефолтное значение дает сильное замедление)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2017, 19:31 |
|
||
|
Включение параметра innodb_file_per_table и замедление работы mysql.exe
|
|||
|---|---|---|---|
|
#18+
Таблиц 129, innodb_flush_log_at_trx_commit = 2. В том, что замедляет именно innodb_file_per_table, сомнений почти нет: специально сравнивал конфиги с двух соседних одинаковых терминалов, работающих с идентичными по объему базами. Отличались только этими параметрами. После того, как на втором терминале вернул дефолтное значение innodb_file_per_table = 0, быстродействие mysql.exe восстановилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.01.2017, 22:30 |
|
||
|
Включение параметра innodb_file_per_table и замедление работы mysql.exe
|
|||
|---|---|---|---|
|
#18+
A-MaRПосле того, как на втором терминале вернул дефолтное значение innodb_file_per_table = 0, быстродействие mysql.exe восстановилось.Прям сразу, без пересоздания таблиц? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2017, 00:56 |
|
||
|
Включение параметра innodb_file_per_table и замедление работы mysql.exe
|
|||
|---|---|---|---|
|
#18+
miksoft, Нет, точно также выполнил переустановку сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2017, 05:58 |
|
||
|
Включение параметра innodb_file_per_table и замедление работы mysql.exe
|
|||
|---|---|---|---|
|
#18+
В общем, спустя год таки нашел источник тормозов. При импорте данные заливаются вначале в промежуточные таблицы, а уже из них в рабочие. И чтобы не париться с очисткой промежуточных таблиц, я недолго думая делал им Truncate. А поскольку используется несколько промежуточных таблиц и данные закачиваются небольшими партиями, таких Truncate-ов на цикл обмена получалось штук от 10 и больше. Логично, что при innodb_file_per_table=on происходило множественное пересоздание файлов, что и вызывало тормоза. В общем, после замены Truncate на delete from варианты с innodb_file_per_table=on и innodb_file_per_table=off полностью сравнялись по скорости, и даже там где было off стало быстрее раза в полтора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2018, 21:58 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39379082&tid=1830114]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 15ms |
| total: | 153ms |

| 0 / 0 |
