|
|
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
При работе mysqldump зачем-то использует временные таблицы (объем данных пишущихся во временный таблицы в трое превышает пищущиеся в dump). Как избежать использования временных таблиц? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 17:01:49 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
mihail_13, незачем mysqldump использовать временные таблицы. давайте вы подробнее разберетесь, опишите что происходит и почему вы решили, что создаются какие-то ненужные таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 17:44:12 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
netwind, я тоже думаю, что незачем они ему, но при его работе в дирректории временных файлов все время создаются и удаляются пары файлов со странными именами и расширениями .MYD и .MYI, что достаточно однозначно говорит о том что это временные таблицы. Других серьезных задач за пару часов пока работает mysqldump сервер не выполняет, а до его запуска и после завершения эти файлы не появляются. Значит их появление связанно именно с работой mysqldump, и я сильно сомневаюсь что использование временных таблиц ускоряет создание резервной копии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 17:55:30 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
Неубедительно. ProcessExplorer в руки - и убедитесь, что именно процесс mysqldump выполняет создание-запись-удаление этих файлов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 18:05:22 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
mihail_13netwind, я тоже думаю, что незачем они ему, но при его работе в дирректории временных файлов все время создаются и удаляются пары файлов со странными именами и расширениями .MYD и .MYI, что достаточно однозначно говорит о том что это временные таблицы. Я вижу две вероятных причины : 1. Неизбежное увеличение нагрузки при дампе может приводить к тому, что вы успеваете замечать файлы создающиеся при нормальной работе запросов, которые в обычном режиме не замечаете. 2. Такие файлы могут появляться при REPAIR TABLE. Может быть из-за бекапа у вас все регулярно ломается, но автоматически запускается починка. Соберите больше информации во время возникновения файлов: show full processlist; вывод lsof и тд. Можно, например, отладчиком заморозить процесс mysql чтобы файлы не "убегали" пока вы разбираетесь. Других серьезных задач за пару часов пока работает mysqldump сервер не выполняет, а до его запуска и после завершения эти файлы не появляются. Значит их появление связанно именно с работой mysqldump, и я сильно сомневаюсь что использование временных таблиц ускоряет создание резервной копии. Могу согласиться лишь с тем, что какая-то связь между этими двумя явлениями есть. Но это не значит, что таблицы используются для дампа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 18:09:55 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
Akina, ProcessExplorer мне врятли удастся запустить под debian. Да и врятли он чем либо поможет. Сомнительно, что mysqldump сам создает таблицы без участия mysql, а значит я увижу что файлы временной таблицы создал mysql и это не скажет мне ровно ничего нового. Даже если удастся узнать использует эти таблицы сам mysqldump или их использует mysql создавая ответ на запрос mysqldump это тоже ничем не поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 18:33:24 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
mihail_13, >> ProcessExplorer мне врятли удастся запустить под debian. ну такие улитки то должны быть: htop, iotop, mytop ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 18:41:51 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
mihail_13Даже если удастся узнать использует эти таблицы сам mysqldump или их использует mysql создавая ответ на запрос mysqldump это тоже ничем не поможет. Ну, понимание причины поможет принять подходящее решение. Может быть вам не нужно избегать появления этих таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 18:50:14 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
mihail_13, http://dev.mysql.com/doc/refman/5.5/en/mysqldump.html может какиенибудь настройки помогут, посмотрите --компакт,--debug-check--debug-info --extended-insert--flush-logs--lock-all-tables--lock-tables net_buffer_length,--quick--result-file=file--single-transaction--skip-compact ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 18:50:54 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
netwind, Можно ли отследить количество создававшихся временных таблиц? Нагрузка на процессор и память явно не смертельные, а диски под эту задачу выделены отдельные, поэтому мало вероятно что дамп так вредит остальным (особенно если учесть что от остальных по нескольку запросов в час) show full processlist; вывод lsof посмотрю, а запустить mysql под отладчиком у меня врятли получится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 18:55:09 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
netwindmihail_13Даже если удастся узнать использует эти таблицы сам mysqldump или их использует mysql создавая ответ на запрос mysqldump это тоже ничем не поможет. Ну, понимание причины поможет принять подходящее решение. Может быть вам не нужно избегать появления этих таблиц. Диск не очень быстрое устройство, и поскольку этого паразитного траффика три четверти, то без него должно быть почти в четыре раза быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 18:59:57 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
mihail_13, Таблицы какого типа дампите? Можете показать точную команду mysqldump со всеми параметрами? Есть мысль, что что-то заставляет mysqldump выполнять большую по памяти операцию, например, ключ --order-by-primary для MyISAM таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 19:04:09 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
mihail_13, а может вы на время дампа просто отключите всех клиентов ? если файлов не будет - файлы создаются не в ответ на mysqldump. Теоретически, есть сборочки от percona, в которых в slow log есть фильтры позволяющие записывать запросы создающие временные таблицы на диске. Сами понимаете, что смена программы - это морока. Есть можно через strace подключиться к существующему процессу и там из вывода что-то отфильтровать, но в этом случае сложно понять в ответ на какой именно запрос создавались файлы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 19:04:24 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
miksoftmihail_13, Таблицы какого типа дампите? Можете показать точную команду mysqldump со всеми параметрами? Есть мысль, что что-то заставляет mysqldump выполнять большую по памяти операцию, например, ключ --order-by-primary для MyISAM таблицы. Таблицы MyISAM /usr/local/bin/mysqldump --lock-tables --add-drop-database --default-character-set=cp1251 --databases имя базы Имеют ли значение размеры баз? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 19:12:36 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
netwind, клиенты это демоны, и большинство из них просыпается когда я к ним явно обращаюсь, а пока идет дамп я их точно не бужу, а больше некому. И даже если я буду проявлять огромную активность, такого траффика временными таблицами я не создам (в них пишется 5-7 Мбайт/сек, за 2 часа это 35-40 Гбайт) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 19:23:58 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
mihail_13И даже если я буду проявлять огромную активность, такого траффика временными таблицами я не создам (в них пишется 5-7 Мбайт/сек, за 2 часа это 35-40 Гбайт)Эти цифры легко достичь и весьма скромной активностью. Кривая база и еще более кривые запросы и не такое могут :) Хотя, конечно, я ни в коей мере даже не предполагаю, что у вас кривая база или SQL-запросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 19:39:27 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
miksoft, Даже если у меня и все было бы кривое, это не объясняет почему кривость проявляется только при работе mysqldump. Сейчас работает программа обрабатывающая данные это базы. Загрузка процессора 95-99%, свободной памяти <10%, на диски нагрузка больше чем при дампе и никаких временных таблиц. (после завершения сново запущу дамп и посмотрб то что мне советовали) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 19:51:41 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
Совет, наверное, дурацкий... я бы попробовал тормознуть процесс mysql (например, командой kill -STOP) во время дампа одной явно указанной таблицы (размером побольше) и посмотреть, что за данные в этих временных файлах - из этой таблицы или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 19:57:14 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
mihail_13а диски под эту задачу выделены отдельные, поэтому мало вероятно что дамп так вредит остальным (особенно если учесть что от остальных по нескольку запросов в час) Ну это вы так думаете. mysqldump ведь обращается в тем же самым данным, что используются в программах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 20:11:09 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
miksoft, В файле присутствет много нулей, а также имя сохраняемой базы, сохраняемой таблицы, имена и типы полей таблицы и "select,insert,update,references" (я не стал убивать mysql, просто быстренько нажал просмотр файла) Что это за данные мне не понятно, но они точно имеют отношение к работе mysqldump ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 20:15:38 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
show full processlist показал запросы для получения структуры и данных сохраняемых таблиц lsof выдал существенно больше 2000 строк, в оновном все открытые mysql сохраняемые таблицы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 20:21:25 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
mihail_13, если данные не изменяются, --lock-tables может быть лишним... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 20:34:53 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
javajdbcmihail_13, если данные не изменяются, --lock-tables может быть лишним... Да, это я как то не подумал, файловые блокировки тоже время едят. Поправлю, при следующем дампе увижу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 20:42:00 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
Что это за данные мне не понятно, но они точно имеют отношение к работе mysqldump интересная логика. точнее, ее отсутствие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 21:28:45 |
|
||
|
mysqldump и временные таблицы
|
|||
|---|---|---|---|
|
#18+
netwindЧто это за данные мне не понятно, но они точно имеют отношение к работе mysqldump интересная логика. точнее, ее отсутствие. Ну кто еще может положить во временную таблицу имена дампящихся баз таблиц, структуру таблиц. С этими базами в это время больше точно никто работать не может. Либо это сам mysqldump, либо mysql при обработке его запросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2013, 21:37:02 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38319523&tid=1836470]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
50ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 349ms |

| 0 / 0 |
