出现业务阻塞、性能下降、查询无响应等类似现网问题时,通过以下方法可以排查是否排队问题并定位排队原因,同时根据排队原因给出相应规避措施。
首先确认是否排队问题,其次排查排队原因,确认是否属于正常排队:
select rpname,slow_run,slow_wait,slow_limit,used_cpu,cpu_limit,used_mem,estimate_mem from gs_respool_resource_info;
select resource_pool,attribute,lane,status,enqueue,sum(statement_mem) as stmt_mem,count(1) from pgxc_session_wlmstat where status!='finished' and attribute!='Internal' and usename!='Ruby' group by 1,2,3,4,5;
通过视图可以获取到各资源池快慢车道作业运行信息,据此可以判断是否排队问题:
如果有作业处于排队状态,则可能是排队导致的问题,否则排除排队问题;可能的排队原因包括: