Trong bài đăng này, tôi đang chia sẻ một tập lệnh để tìm thời gian chạy trung bình và mức sử dụng tài nguyên trung bình của các truy vấn đang chạy trong Greenplum.
Tôi đang sử dụng bảng GPCC có sẵn trong cơ sở dữ liệu GPPERFMON. Vì vậy, nếu bạn không định cấu hình GPCC, bạn không thể sử dụng truy vấn bên dưới.
Sử dụng truy vấn dưới đây, bạn có thể tìm thấy tổng thời gian chạy trung bình, CPU trung bình, Bộ nhớ trung bình bị chiếm dụng bởi các truy vấn chạy dài mất hơn 20 phút và chỉ kiểm tra trong 10 ngày qua.
Theo yêu cầu của bạn, bạn có thể thay đổi giá trị bộ lọc phút và ngày.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | select sh.ctime ,query_text ,username ,db as DatabaseName ,rsqname as ResourceQueueName ,avg(tfinish-tstart) as AverageRunTime ,count(*) as TotalExecution ,round(avg(100 - cpu_idle)::numeric,2) as AverageCPUUsed ,round(max(100 - cpu_idle)::numeric,2) as MaxCPUUsed ,round(avg(mem_actual_used)/power(1024,3)::numeric,2) as AverageMemoryUsed ,round(max(mem_actual_used)/power(1024,3)::numeric,2) as MaxMemoryUsed from system_history sh, queries_history qh where sh.ctime between date_trunc('day',localtimestamp - interval '10 days') and date_trunc('day',localtimestamp) and sh.ctime=qh.ctime and db not in ('gpperfmon') and date_part('hour',tfinish - tstart)*60 + date_part('minute',tfinish - tstart) > 20 group by sh.ctime,query_text,username, db,rsqname; |