powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / postgresql+camunda high CPU load
6 сообщений из 6, страница 1 из 1
postgresql+camunda high CPU load
    #39542452
bombardun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, имею БД postgresql 9.6.2, host ОС CentOS 7.3, виртуальная машина, выделено 16 vcpu.

В базу со стороны приложения переодически прилетают запросы типа "DELETE FROM ACT_RU_EXECUTION WHERE ID_ = 'e4c175a3-b92d-11e7-86a3-fa163eea878d' AND REV_ = '6';",
анализ показывает
explain DELETE FROM ACT_RU_EXECUTION WHERE ID_ = 'e4c175a3-b92d-11e7-86a3-fa163eea878d' AND REV_ = '6';
QUERY PLAN
----------------------------------------------------------------------------------------------------------
Delete on act_ru_execution (cost=0.42..8.44 rows=1 width=6)
-> Index Scan using act_ru_execution_alt_pk_idx on act_ru_execution (cost=0.42..8.44 rows=1 width=6)
Index Cond: (((id_)::text = 'e4c175a3-b92d-11e7-86a3-fa163eea878d'::text) AND (rev_ = 6))
удаление по вполне кошерному индексу
"act_ru_execution_alt_pk_idx" btree (id_, rev_)

но когда подобных запросов прилетает до 20 штук в секунду, CPU нагрузка подскакивает до 90-100%.
Возможно я не прав, но по логике работы postgresql, в момент удаления строки из таблицы, она просто помечается как удаленная, а дальнейшая очистка происходит процессом autovacuum. Что может давать такую нагрузку, подскажите, в какую сторону копать?
...
Рейтинг: 0 / 0
postgresql+camunda high CPU load
    #39542465
Alexius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bombardun,

проверьте наличие FK в таблице, если они есть - то проверьте наличие индексов в связанных таблицах. Еще триггеры могут быть какие-то на удаление.
...
Рейтинг: 0 / 0
postgresql+camunda high CPU load
    #39542466
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bombardunКоллеги, имею БД postgresql 9.6.2, host ОС CentOS 7.3, виртуальная машина, выделено 16 vcpu.

В базу со стороны приложения переодически прилетают запросы типа "DELETE FROM ACT_RU_EXECUTION WHERE ID_ = 'e4c175a3-b92d-11e7-86a3-fa163eea878d' AND REV_ = '6';",
анализ показывает
explain DELETE FROM ACT_RU_EXECUTION WHERE ID_ = 'e4c175a3-b92d-11e7-86a3-fa163eea878d' AND REV_ = '6';
QUERY PLAN
----------------------------------------------------------------------------------------------------------
Delete on act_ru_execution (cost=0.42..8.44 rows=1 width=6)
-> Index Scan using act_ru_execution_alt_pk_idx on act_ru_execution (cost=0.42..8.44 rows=1 width=6)
Index Cond: (((id_)::text = 'e4c175a3-b92d-11e7-86a3-fa163eea878d'::text) AND (rev_ = 6))
удаление по вполне кошерному индексу
"act_ru_execution_alt_pk_idx" btree (id_, rev_)

но когда подобных запросов прилетает до 20 штук в секунду, CPU нагрузка подскакивает до 90-100%.
Возможно я не прав, но по логике работы postgresql, в момент удаления строки из таблицы, она просто помечается как удаленная, а дальнейшая очистка происходит процессом autovacuum. Что может давать такую нагрузку, подскажите, в какую сторону копать?

Вы explain analyze сделайте... будет больше пользы и станет понятнее.
Я бы предположил наличие непроиндексированных FK ссылающихся на эту таблицу (и seq scan в итоге в триггерах проверки FK).

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
postgresql+camunda high CPU load
    #39542635
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И, кстати, не хотите ли вместо text'а uuid'ы хранить в соответствующем типе данных uuid?
...
Рейтинг: 0 / 0
postgresql+camunda high CPU load
    #39543063
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MelkijИ, кстати, не хотите ли вместо text'а uuid'ы хранить в соответствующем типе данных uuid?

Невозможно. Структура используемых таблиц предопределена приложением и её нельзя изменить.
Можно пытаться оптимизировать индексы.
...
Рейтинг: 0 / 0
postgresql+camunda high CPU load
    #39543190
bombardun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Partisan M,

Согласен, структура таблиц определена приложением, я как DBA наблюдаю нагрузку со стороны БД. пока подключил pg_stat_statements, вычленяю неоптимальные запросы с точки зрения плана выполнения, и пробую доработать индексами.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / postgresql+camunda high CPU load
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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