Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
 WAL/autovacuum процессы после удаления записей из таблицы.  [new]
alexzf
Member

Откуда:
Сообщений: 21
Всем пирвет! Собственно есть тестовый стенд, машинка достаточно слабая, 2 Xeon(R) CPU E5-2676 ну и RAM в GB, диски SSD
Проблема в том что этот тестовый стенд регулярно используется для тестирования каких-либо настроек PostgreSQL, тестирование архитектурных решений и так далее. Сейчас после очередного теста, загрузить порядка 700ГБ данных, удалив все тестовые данные из таблиц (их было две), все стало ужасно медленно работать уже второй час.
Я так понимаю в PostgreSQL мне мешает, после удаления данных, работать комфортно - WAL механизмы для синхронизации данных с журналом и autovacuum для чистки помеченных на удаление данных.

Вопрос, есть ли какая-либо возможность отключать данные процессы и что я потеряю отключив данные процессы? Если потеряю целостность логической части и файловой системы и так далее. Заранее спасибо.
20 сен 17, 17:07    [20809650]     Ответить | Цитировать Сообщить модератору
 Re: WAL/autovacuum процессы после удаления записей из таблицы.  [new]
Sergei.Agalakov
Member

Откуда:
Сообщений: 551
Вы что, сделали delete на тестовых таблицах размером 700Gb? Truncate или drop table невозможно было сделать?
20 сен 17, 17:51    [20809822]     Ответить | Цитировать Сообщить модератору
 Re: WAL/autovacuum процессы после удаления записей из таблицы.  [new]
alexzf
Member

Откуда:
Сообщений: 21
Sergei.Agalakov,

Все верно. Сделали delete all
21 сен 17, 09:04    [20810925]     Ответить | Цитировать Сообщить модератору
 Re: WAL/autovacuum процессы после удаления записей из таблицы.  [new]
alexzf
Member

Откуда:
Сообщений: 21
Sergei.Agalakov,

Дело в том что одно из условий так сказать тестирования это как то оптимизировать write condition процессы, к примеру инсерты сделать без подтверждения, delete то же самое. Но как то не реагирует. На данный момент это запуск autovacuum после delete, вот этот зверь не отключается (autovacuum = off).
21 сен 17, 09:08    [20810932]     Ответить | Цитировать Сообщить модератору
 Re: WAL/autovacuum процессы после удаления записей из таблицы.  [new]
daevy
Member

Откуда: Yekaterinburg, RU
Сообщений: 246
alexzf,

если вы пришли к решению "надо отключить фоновые процессы" значит вы что-то делаете изначально неверно.
удаляйте не через "delete all", а truncate'ом, или вообще удаляйте постгресовый инстанс целиком и делайте initdb заново.
21 сен 17, 10:59    [20811321]     Ответить | Цитировать Сообщить модератору
 Re: WAL/autovacuum процессы после удаления записей из таблицы.  [new]
daevy
Member

Откуда: Yekaterinburg, RU
Сообщений: 246
alexzf
Sergei.Agalakov,

Дело в том что одно из условий так сказать тестирования это как то оптимизировать write condition процессы, к примеру инсерты сделать без подтверждения, delete то же самое. Но как то не реагирует. На данный момент это запуск autovacuum после delete, вот этот зверь не отключается (autovacuum = off).


пробуйте сделать fsync=off, synchronous_commit=off, full_page_writes=off, настройки чекпоинтов выкрутить в максимум чтобы на время выполнения теста чекпоинты вообще не делались +) -- но это все только для тестовой среды где данные продолбать не жалко.
21 сен 17, 11:02    [20811335]     Ответить | Цитировать Сообщить модератору
 Re: WAL/autovacuum процессы после удаления записей из таблицы.  [new]
alexzf
Member

Откуда:
Сообщений: 21
daevy,

Отключение фоновых процессов, да это решение неверное, ведь когда то нужно запускать тот же autovacuum, просто дело в том что после огромных записей в таблицу тестировщику ждут пока завершится autovacuum , а простой это плохо :) Спасибо отключил все, прям по вашему посту.

Единственное, такое чувство что autovacuum (даже если отключен) срабатывает после вставки через COPY. То бишь для COPY свое правило запуска autovacuum.
22 сен 17, 12:28    [20815376]     Ответить | Цитировать Сообщить модератору
Все форумы / PostgreSQL Ответить