Время от времени работа базы данных Postgres в Kubernetes замедляется

#postgresql #kubernetes #kubernetes-pod

#postgresql #kubernetes #kubernetes-pod

Вопрос:

У меня есть база данных Postgres в модуле в Kubernetes. Когда я запускаю один и тот же запрос снова и снова, это занимает от 4 мс до 30 секунд. Я застрял и не знаю, что может быть причиной этого. Так что же может быть причиной этого? Спасибо

Комментарии:

1. Добавьте EXPLAIN (ANALYZE, BUFFERS) вывод для медленного и быстрого выполнения вопроса. В идеале сначала включите track_io_timing .

Ответ №1:

Я бы посоветовал вам

  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)
  
  1. есть 2 хорошие статьи, прочитайте их — они объясняют, как ОБНАРУЖИВАТЬ МЕДЛЕННЫЕ ЗАПРОСЫ В POSTGRESQL и как выявлять проблемы с производительностью PostgreSQL при медленных запросах

Скорее всего, проблема только внутри postgresql , а не kubernetes сама по себе