Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / оптимизация инсертов / 5 сообщений из 5, страница 1 из 1
29.06.2016, 12:18
    #39264583
fduch f.f.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация инсертов
рабочая нагрузка содержит в себе много запросов на вставку в одну большую таблицу
иногда эти запросы начинают выполняться параллельно и тогда увеличивается время их выполнения влоть до таймаутов
при этом друг друга они не блокируют (в pg_stat_activity блокировка = False)

сейчас в конфиге постгреса параметры по умолчанию
может есть какие-нибудь параметры которые имеет смысл поменять для оптимизации такого типа рабочей нагрузки?

или подскажите что почитать для оптимизации постгреса под инсерты
...
Рейтинг: 0 / 0
29.06.2016, 13:15
    #39264627
Alexius
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация инсертов
fduch f.f.,

если конфиг совсем дефолтный, то смотреть для начала параметры shared_buffers, checkpoint_segments (max_wal_size в 9.5), checkpoint_timeout + возможно synchronous_commit и wal_writer_delay.
...
Рейтинг: 0 / 0
29.06.2016, 13:16
    #39264630
Jonhson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация инсертов
не являюсь гуру постгреса, но спросил бы про наличие уникальных индексов.

А в качестве лакарства предложил бы либо
1. писать в отдельные GTT, а потом лить в основную отдельным процессом
либо
2. ввести что-то типа session_id и сделать по нему партиции.
...
Рейтинг: 0 / 0
29.06.2016, 14:16
    #39264690
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация инсертов
fduch f.f.рабочая нагрузка содержит в себе много запросов на вставку в одну большую таблицу
иногда эти запросы начинают выполняться параллельно и тогда увеличивается время их выполнения влоть до таймаутов
при этом друг друга они не блокируют (в pg_stat_activity блокировка = False)

сейчас в конфиге постгреса параметры по умолчанию
может есть какие-нибудь параметры которые имеет смысл поменять для оптимизации такого типа рабочей нагрузки?

или подскажите что почитать для оптимизации постгреса под инсерты

Вы для начала скажите что у вас лимитирует скорость вставки.
Варианты: CPU - тогда все очень плохо и надо смотреть чтобы у вас избытка индексов на таблице не было или что сильно более вероятно диски - тогда syncronous_commit=off (если можете себе позволить по бизнес логике) + настройка checkpoints.
Если есть возможность делать вставки не по 1 записи через INSERT а пачками через COPY - будет сильно быстрее и по CPU и по дискам.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
29.06.2016, 14:26
    #39264699
fduch f.f.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
оптимизация инсертов
всем спасибо, буду пробовать
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / оптимизация инсертов / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]