Sobes.tech
Junior — Middle

როგორ გამოვავლინოთ და გავაანალიზოთ PostgreSQL-ში გრძელვადიანი სარეკლამო მოთხოვნა?

sobes.tech AI

პასუხი AI-სგან

PostgreSQL-ში გრძელვადიანი სარეკლამო მოთხოვნების გამოვლენისათვის, შეგიძლიათ გამოიყენოთ სისტემის ხედი pg_stat_activity, რომელიც აჩვენებს მიმდინარე აქტიურ მოთხოვნებს და მათი შესრულების დროს. მაგალითად, შემდეგი მოთხოვნა:

SELECT pid, now() - query_start AS duration, query
FROM pg_stat_activity
WHERE state = 'active'
ORDER BY duration DESC
LIMIT 5;

გაძლევს ნახოთ 5 ყველაზე გრძელვადიანი აქტიური მოთხოვნა.

მიღწევადობისთვის, შეგიძლიათ გააქტიუროთ ნელი მოთხოვნების ლოგირება postgresql.conf ფაილში:

log_min_duration_statement = 1000  # ლოგირება 1000 მს-ზე მეტი ხანგრძლივობის მოთხოვნების

ამის შემდეგ, ყველა მოთხოვნა, რომელიც ამ დროსს გადააჭარბებს, ჩაიწერება ლოგებში.

ასევე, სასარგებლოა პროფილირების ინსტრუმენტების და EXPLAIN ANALYZE-ის გამოყენება კონკრეტული მოთხოვნების შესრულების გეგმების ანალიზისთვის და ბლოკირების პუნქტების გამოვლენისათვის.