|
|
|
Восстановление из дампа идет ооочень долго
|
|||
|---|---|---|---|
|
#18+
Добрый день. С сервера бд(centOS, postgresql 9.3) сделан (pg_dump dbname --username usern | gzip > dbbackup.out.gz) и перенесен на тестовую машину(одноядерный пентиум 2,8, гиг оперативки, CentOS 6.6, Postgresql 9.3) дамп, там же разархивирован и запущено восстановление из него( psql dbname < dbbackup.out --username usern ) Дамп базы весит примерно 32 гига, сама база на сервере весит более 50 гигов. Процесс восстановления идет очень медленно , за сутки размер каталога data достиг примерно 1,5 гигов. Получается этот процесс займет месяц? Возможно ли как-то ускорить процесс? Что я делаю не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 10:26 |
|
||
|
Восстановление из дампа идет ооочень долго
|
|||
|---|---|---|---|
|
#18+
Zilberstein, Может попробовать выгрузить dump в формате для pg_restore и восстанавливаться pg_restore ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 11:30 |
|
||
|
Восстановление из дампа идет ооочень долго
|
|||
|---|---|---|---|
|
#18+
ZilbersteinДобрый день. С сервера бд(centOS, postgresql 9.3) сделан (pg_dump dbname --username usern | gzip > dbbackup.out.gz) и перенесен на тестовую машину(одноядерный пентиум 2,8, гиг оперативки, CentOS 6.6, Postgresql 9.3) дамп, там же разархивирован и запущено восстановление из него( psql dbname < dbbackup.out --username usern ) Дамп базы весит примерно 32 гига, сама база на сервере весит более 50 гигов. Процесс восстановления идет очень медленно , за сутки размер каталога data достиг примерно 1,5 гигов. Получается этот процесс займет месяц? Возможно ли как-то ускорить процесс? Что я делаю не так? В общем да делать dump в custom формате и восстанавивать через pg_restore. Возможно еще посмотреть на настройки базы на тестовом сервере (далеко не факт что они вменяемы). Учитывая размер базы и сколько у вас оперативки я бы сказал что в любом случае это будет ОЧЕНЬ надолго если у вас диск не SSD, и упираться и в диск и в процессор будет (но вероятнее всего в диск). Посмотрите по top и по iostat - что у вас на 100% занято диск или процессор или и то и другое. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 11:47 |
|
||
|
Восстановление из дампа идет ооочень долго
|
|||
|---|---|---|---|
|
#18+
Maxim BogukВ общем да делать dump в custom формате и восстанавивать через pg_restore. Возможно еще посмотреть на настройки базы на тестовом сервере (далеко не факт что они вменяемы). Учитывая размер базы и сколько у вас оперативки я бы сказал что в любом случае это будет ОЧЕНЬ надолго если у вас диск не SSD, и упираться и в диск и в процессор будет (но вероятнее всего в диск). Посмотрите по top и по iostat - что у вас на 100% занято диск или процессор или и то и другое. Приведите пожалуйста примеры команд дампа в кастом формате и обратной ей pg_restore. Упирается в диск: iostat показывает 92-94% загрузки диска, top показывает всего 10-12% загрузки процессом postmaster. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 13:13 |
|
||
|
Восстановление из дампа идет ооочень долго
|
|||
|---|---|---|---|
|
#18+
автор ещё может в базу с предвосстановленными схемами выгружатся -- т.е. со всеми включенными механизмами логической целостности и прочими триггерами. а это совсем кирдык. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 13:13 |
|
||
|
Восстановление из дампа идет ооочень долго
|
|||
|---|---|---|---|
|
#18+
ZilbersteinПриведите пожалуйста примеры команд дампа в кастом формате и обратной ей pg_restore. Код: python 1. 2. и вдумчиво почитать оное ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 13:16 |
|
||
|
Восстановление из дампа идет ооочень долго
|
|||
|---|---|---|---|
|
#18+
ZilbersteinMaxim BogukВ общем да делать dump в custom формате и восстанавивать через pg_restore. Возможно еще посмотреть на настройки базы на тестовом сервере (далеко не факт что они вменяемы). Учитывая размер базы и сколько у вас оперативки я бы сказал что в любом случае это будет ОЧЕНЬ надолго если у вас диск не SSD, и упираться и в диск и в процессор будет (но вероятнее всего в диск). Посмотрите по top и по iostat - что у вас на 100% занято диск или процессор или и то и другое. Приведите пожалуйста примеры команд дампа в кастом формате и обратной ей pg_restore. Упирается в диск: iostat показывает 92-94% загрузки диска, top показывает всего 10-12% загрузки процессом postmaster. Мало памяти при неверно настроенной базе при слабых дисках - вот и имеем что имеем. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 13:49 |
|
||
|
Восстановление из дампа идет ооочень долго
|
|||
|---|---|---|---|
|
#18+
Maxim BogukМало памяти при неверно настроенной базе при слабых дисках - вот и имеем что имеем. И все же что понимается под неверными настройками базы? На тестовой машине только установлена Postgresql и выполнены следующие команды: $ su – postgres $ psql postgres=# create user username unencrypted password 'passwd' ; postgres=# create database dbname owner username ; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 14:20 |
|
||
|
Восстановление из дампа идет ооочень долго
|
|||
|---|---|---|---|
|
#18+
ZilbersteinMaxim BogukМало памяти при неверно настроенной базе при слабых дисках - вот и имеем что имеем. И все же что понимается под неверными настройками базы? На тестовой машине только установлена Postgresql и выполнены следующие команды: $ su – postgres $ psql postgres=# create user username unencrypted password 'passwd' ; postgres=# create database dbname owner username ; Настройки базы по умолчанию рассчитаны на установку на сервер 20 летней давности. Никакой разумной производительности от настроек по умолчанию В ПРИНЦИПЕ не стоит ожидать ни на каких задачах. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 15:05 |
|
||
|
Восстановление из дампа идет ооочень долго
|
|||
|---|---|---|---|
|
#18+
http://pgtune.leopard.in.ua/ Это поможет оттюнить хотя бы как-то для начала ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 15:13 |
|
||
|
Восстановление из дампа идет ооочень долго
|
|||
|---|---|---|---|
|
#18+
ОКТОГЕНЭто поможет оттюнить хотя бы как-то для начала Спасибо, буду пробовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 15:31 |
|
||
|
Восстановление из дампа идет ооочень долго
|
|||
|---|---|---|---|
|
#18+
Zilberstein, pg_dump -I -h (ip hosts) -p port -U user -F c -v -f "имя файла" имя базы pg-restore -h hosts -p port -U user -d имя базы имя файла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 16:30 |
|
||
|
Восстановление из дампа идет ооочень долго
|
|||
|---|---|---|---|
|
#18+
li_malina, прощу прощения -F C ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 16:30 |
|
||
|
Восстановление из дампа идет ооочень долго
|
|||
|---|---|---|---|
|
#18+
li_malinaZilberstein, pg_dump -I -h (ip hosts) -p port -U user -F c -v -f "имя файла" имя базы pg-restore -h hosts -p port -U user -d имя базы имя файла Спасибо, а что за ключ "-I" в мануале не нашел такого... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2015, 09:52 |
|
||
|
Восстановление из дампа идет ооочень долго
|
|||
|---|---|---|---|
|
#18+
li_malinaZilberstein, pg_dump -I -h (ip hosts) -p port -U user -F c -v -f "имя файла" имя базы pg-restore -h hosts -p port -U user -d имя базы имя файла Сделал дамп: pg_dump -U username -F C -v -f filename dbname Получился файл ~11 гигов, перенес его на тестовый сервер и выполнил: pg_restore -U username -d dbname filename Через минуты 3-4 ожидания система выдает: Убито промониторил командой top, увидел, что загрузка процессора и памяти выше, чем при выполнении восстановления из несжатого дампа командой psql, а также, что забивается виртуальная память, лог /var/log/messages говорит о том же : kernel: Out of memory: Kill process 20059 (pg_restore) score 945 or sacrifice child Добавил к существующему 2Гб разделу подкачки файл подкачки также размером 2 Гб,опять запустил рестор, получил сообщение: Out of memory и при этом пустоту в системных логах на этот счет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2015, 13:45 |
|
||
|
Восстановление из дампа идет ооочень долго
|
|||
|---|---|---|---|
|
#18+
Zilberstein, При этом никакие изменения в параметры postgresql.conf внесены не были? Работа продолжается на параметрах по умолчанию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2015, 14:28 |
|
||
|
Восстановление из дампа идет ооочень долго
|
|||
|---|---|---|---|
|
#18+
Zilberstein, правильно здесь заметили что нужно настраивать параметры в postgres.conf но если там изменить ничего нельзя те улучшить можно рассмотреть вариант переноса базы по схемам (перенести сначала например структуру,выбрать информацию о внешних ключах,отключить ограничения и по схемам грузить данные) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2015, 15:42 |
|
||
|
Восстановление из дампа идет ооочень долго
|
|||
|---|---|---|---|
|
#18+
Zilberstein, приведите размер ОП на вашем компьютере ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2015, 15:48 |
|
||
|
Восстановление из дампа идет ооочень долго
|
|||
|---|---|---|---|
|
#18+
ursidoZilberstein, При этом никакие изменения в параметры postgresql.conf внесены не были? Работа продолжается на параметрах по умолчанию? Нет, изменения были внесены по рекомендации калькулятора с сайта http://pgtune.leopard.in.ua/ max_connections = 5 shared_buffers = 512MB effective_cache_size = 1536MB work_mem = 104857kB maintenance_work_mem = 128MB checkpoint_segments = 32 checkpoint_completion_target = 0.7 wal_buffers = 16MB default_statistics_target = 100 Помимо этого добавил оперативки до 2 гигов. Эффект тот же. Процесс pg_restore забивает 1,7 гига физической памяти, а когда количество занятой виртуальной памяти достигает 3 гигов - через 3 минуты после запуска команды вылетает сообщение: Out of memory Единственная инфа по времени - в логе secure: Jul 16 16:19:29 nautest runuser: pam_unix(runuser-l:session): session opened for user postgres by (uid=0) Jul 16 16:19:31 nautest runuser: pam_unix(runuser-l:session): session closed for user postgres Имеет ли смысл увеличивать файл подкачки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2015, 16:24 |
|
||
|
Восстановление из дампа идет ооочень долго
|
|||
|---|---|---|---|
|
#18+
ZilbersteinursidoZilberstein, При этом никакие изменения в параметры postgresql.conf внесены не были? Работа продолжается на параметрах по умолчанию? Нет, изменения были внесены по рекомендации калькулятора с сайта http://pgtune.leopard.in.ua/ max_connections = 5 shared_buffers = 512MB effective_cache_size = 1536MB work_mem = 104857kB maintenance_work_mem = 128MB checkpoint_segments = 32 checkpoint_completion_target = 0.7 wal_buffers = 16MB default_statistics_target = 100 Помимо этого добавил оперативки до 2 гигов. Эффект тот же. Процесс pg_restore забивает 1,7 гига физической памяти, а когда количество занятой виртуальной памяти достигает 3 гигов - через 3 минуты после запуска команды вылетает сообщение: Out of memory Единственная инфа по времени - в логе secure: Jul 16 16:19:29 nautest runuser: pam_unix(runuser-l:session): session opened for user postgres by (uid=0) Jul 16 16:19:31 nautest runuser: pam_unix(runuser-l:session): session closed for user postgres Имеет ли смысл увеличивать файл подкачки? pgtune рекомендации в принципе не расчитаны на сервера с оперативкой меньше чем в мобильном телефоне. не удивительно что оно в swap улетает и OOM. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2015, 16:29 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39007706&tid=1997874]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
157ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 431ms |

| 0 / 0 |
