Size: a a a

2020 December 11

KS

K S in Data Engineers
Дмитрий
Когда pg_dump работает в 4 потока, то загрузка дисковой подсистемы средняя и не упирается в потолок ?
Я точно не замерял, у меня нет доступа по ssh в прод, а на хосте где запускается pg_dump system average подскакивает с 0.8 до 5.8
источник

AZ

Anton Zadorozhniy in Data Engineers
-j вроде не умеет бить таблицы, каждый поток получает таблицы целиком, если у вас есть огромная таблица - она дампится последовательно
источник

AZ

Anton Zadorozhniy in Data Engineers
(сам обычно делаю -Fd -j 8)
источник

KS

K S in Data Engineers
Anton Zadorozhniy
Имеется в виду на сервер куда пишутся дампы
На этом сервере pg_dump единственный клиент, так что все ресурсы только для него.
источник

AZ

Anton Zadorozhniy in Data Engineers
K S
На этом сервере pg_dump единственный клиент, так что все ресурсы только для него.
Ну а какой на это сервере диск? В его IO не упираетесь?
источник

KS

K S in Data Engineers
Anton Zadorozhniy
Ну а какой на это сервере диск? В его IO не упираетесь?
Там около 10 дисков, индивидуально для каждого шарда. Я пока не замерял IO, так что цифр нет.
источник

KS

K S in Data Engineers
Anton Zadorozhniy
-j вроде не умеет бить таблицы, каждый поток получает таблицы целиком, если у вас есть огромная таблица - она дампится последовательно
У нас пару таблиц очень большие, а всего их около ста. Получается если сделать -j 100, то всё равно будет качать большие таблицы целиком?
источник

AZ

Anton Zadorozhniy in Data Engineers
K S
Там около 10 дисков, индивидуально для каждого шарда. Я пока не замерял IO, так что цифр нет.
1 ТБ за 3.5 часа это 83мб/сек, если у вас там одинокий том с крутилкой - вполне можете в него подпираться
источник

AZ

Anton Zadorozhniy in Data Engineers
K S
У нас пару таблиц очень большие, а всего их около ста. Получается если сделать -j 100, то всё равно будет качать большие таблицы целиком?
Он будет все качать целиком, просто каждая конкретная большая таблица будет дампится последовательно
источник

KS

K S in Data Engineers
Anton Zadorozhniy
Он будет все качать целиком, просто каждая конкретная большая таблица будет дампится последовательно
А если большая таблица partitioned, тогда ведь быстрее?
источник

AZ

Anton Zadorozhniy in Data Engineers
K S
А если большая таблица partitioned, тогда ведь быстрее?
Не уверен, посмотрю
источник

Д

Дмитрий in Data Engineers
Надо посмотреть по логам, как долго заливаются эти большие таблицы. У меня сейчас нет под рукой постгри.
источник

AZ

Anton Zadorozhniy in Data Engineers
Если обычный партишенинг (чайлд таблицы) то будет параллельно, хэш партишен я не очень понимаю пока
источник

KS

K S in Data Engineers
Вот это диски
источник

AZ

Anton Zadorozhniy in Data Engineers
(извините, я баре жду когда ребенка закончит своё занятие, из меня сейчас плохой консультант)
источник

KS

K S in Data Engineers
Anton Zadorozhniy
Если обычный партишенинг (чайлд таблицы) то будет параллельно, хэш партишен я не очень понимаю пока
Не, у нас inherited partition
источник

AZ

Anton Zadorozhniy in Data Engineers
K S
Вот это диски
Если эти тома - это прям одинокие диски-крутилки , то вы скорее всего упретесь в диск
источник

AZ

Anton Zadorozhniy in Data Engineers
Мб собрать из них чего пошустрее, рейд 10 там или что у вас любят
источник

KS

K S in Data Engineers
Anton Zadorozhniy
Мб собрать из них чего пошустрее, рейд 10 там или что у вас любят
Хорошая идея, надо спросить у девопсов. Ведь pg_dump обрабатывает один шард в единицу времени.
источник

KS

K S in Data Engineers
Дмитрий
Надо посмотреть по логам, как долго заливаются эти большие таблицы. У меня сейчас нет под рукой постгри.
В принципе можно просто разделить время 3.5 часа в процентном соотношении и получить время на большую таблицу. А оптимизацию отслеживать по общему времени.
источник