|
|
|
Низкая скорость дампа PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Привет всем. Мы делаем дамп базы утилитой pg_dump в custom - формате, примерно так: c:\Program Files (x86)\PostgreSQL\9.2\bin\pg_dump.exe -Fc -n public -f "d:\backup\data.backup" -h 127.0.0.1 -p 5532 -U postgres -v {имя базы} В результате все происходит очень медленно, например, дамп 90 Гб базы занимает около 16 часов. Большую часть объема у нас занимают объекты bytea (фотографии). Подскажите, пожалуйста, как можно оптимизировать скорость дампа. Конфигурация системы: Windows Server 2008 R2 Standart Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz ОЗУ - 16 гб. Версия СУБД : "PostgreSQL 9.2.4, compiled by Visual C++ build 1600, 32-bit" Прикладываю файл postgresql.conf. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2014, 11:13:37 |
|
||
|
Низкая скорость дампа PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Шабалин ДмитрийПривет всем. Мы делаем дамп базы утилитой pg_dump в custom - формате, примерно так: c:\Program Files (x86)\PostgreSQL\9.2\bin\pg_dump.exe -Fc -n public -f "d:\backup\data.backup" -h 127.0.0.1 -p 5532 -U postgres -v {имя базы} В результате все происходит очень медленно, например, дамп 90 Гб базы занимает около 16 часов. Большую часть объема у нас занимают объекты bytea (фотографии). Подскажите, пожалуйста, как можно оптимизировать скорость дампа. Конфигурация системы: Windows Server 2008 R2 Standart Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz ОЗУ - 16 гб. Версия СУБД : "PostgreSQL 9.2.4, compiled by Visual C++ build 1600, 32-bit" Прикладываю файл postgresql.conf. Спасибо. Вариант 1 (менее вероятный 16часов это многовато для него): добавьте --compress=0 так как dump может в процессор упираться на сжатии легко Вариант 2 (более вероятный): у вас тупо не справляются диски а вы еще небось на тот же самый диск где база живет dump делаете (тут только нормальное железо поможет). И то и другое легко мониторингом винды можно увидеть. В первом случае 100% CPU 1ядра будет на pg_dump Во втором дисковая утилизация будет 100%. PS: bytea (и тем более фотки) в базе хранить идея дурная... это раз в 100 тяжелее для процессораа и дисков по сравнению с хранением просто файлов. --Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2014, 11:18:11 |
|
||
|
Низкая скорость дампа PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Maxim Boguk, Все упирается в процессор. Если поставить степень сжатия 0, или использовать plane - формат, весь процесс занимает 2,5 часа. Но выходной файл в два раза почти увеличивается:( При этом pg_dump работает в один поток. Можно ли как-то ускорить процесс? Приходит в голову идея копировать таблицу с фотками отдельно через COPY BINARY, но я не понимаю, можно ли при таком подходе обеспечить целостность данных, если дамп делается с работающей базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2014, 15:54:44 |
|
||
|
Низкая скорость дампа PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Шабалин Дмитрий, архивировать собственным скриптом после дампа уже и в несколько потоков (7zip вроде так для zip может https://ru.wikipedia.org/wiki/7-Zip "может использовать до 8 потоков одновременно") ну и с 9.3 у нас есть: -j njobs http://www.postgresql.org/docs/9.3/static/app-pgdump.html делайте стока потоков, пока диск не сожрете ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2014, 16:10:22 |
|
||
|
Низкая скорость дампа PostgreSQL
|
|||
|---|---|---|---|
|
#18+
Шабалин ДмитрийMaxim Boguk, Все упирается в процессор. Если поставить степень сжатия 0, или использовать plane - формат, весь процесс занимает 2,5 часа. Но выходной файл в два раза почти увеличивается:( При этом pg_dump работает в один поток. Можно ли как-то ускорить процесс? Приходит в голову идея копировать таблицу с фотками отдельно через COPY BINARY, но я не понимаю, можно ли при таком подходе обеспечить целостность данных, если дамп делается с работающей базы. а в чем проблема с увеличением размера dump в 2 раза? диски сейчас дешевые... попробуйте поиграться с степенью сжатия кстати (где то 2-3-4 попробуйте вместо 9 скорее всего получится разумный компромисс между скоростью и размером). Ну или делайте dump без сжатия а потом сжимайте каким либо 7zip который во много потоков умеет делать. --Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2014, 16:32:10 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=119&tid=1998347]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 333ms |

| 0 / 0 |
