#postgresql #kubernetes #kubernetes-pod
#postgresql #kubernetes #kubernetes-pod
Вопрос:
У меня есть база данных Postgres в модуле в Kubernetes. Когда я запускаю один и тот же запрос снова и снова, это занимает от 4 мс до 30 секунд. Я застрял и не знаю, что может быть причиной этого. Так что же может быть причиной этого? Спасибо
Комментарии:
1. Добавьте
EXPLAIN (ANALYZE, BUFFERS)
вывод для медленного и быстрого выполнения вопроса. В идеале сначала включитеtrack_io_timing
.
Ответ №1:
Я бы посоветовал вам
- серьезно отнеситесь к комментарию @Laurenz и проанализируйте как быстрые, так и медленные запросы, выполнив ОБЪЯСНЕНИЕ (АНАЛИЗ, БУФЕРЫ) перед командой.
У вас будет что-то вроде
explain analyze select sum(countstarted), starttime from CompositionElementAggregate1 group by starttime;
QUERY PLAN
-------------------------------------------------------------------------------------------------------------------------------------------------------
------------------
Finalize GroupAggregate (cost=55246.24..55252.74 rows=200 width=40) (actual time=4579.309..4688.106 rows=4611 loops=1)
Group Key: starttime
-> Sort (cost=55246.24..55247.24 rows=400 width=40) (actual time=4579.281..4623.522 rows=13808 loops=1)
Sort Key: starttime
Sort Method: quicksort Memory: 1463kB
-> Gather (cost=55186.45..55228.95 rows=400 width=40) (actual time=4454.649..4531.503 rows=13808 loops=1)
Workers Planned: 2
Workers Launched: 2
-> Partial HashAggregate (cost=54186.45..54188.95 rows=200 width=40) (actual time=4451.450..4469.493 rows=4603 loops=3)
Group Key: starttime
-> Parallel Seq Scan on compositionelementaggregate1 (cost=0.00..51661.63 rows=504963 width=16) (actual time=0.049..2260.735 row
s=585297 loops=3)
Planning time: 0.113 ms
Execution time: 4702.844 ms
(13 rows)
- есть 2 хорошие статьи, прочитайте их — они объясняют, как ОБНАРУЖИВАТЬ МЕДЛЕННЫЕ ЗАПРОСЫ В POSTGRESQL и как выявлять проблемы с производительностью PostgreSQL при медленных запросах
Скорее всего, проблема только внутри postgresql
, а не kubernetes
сама по себе