南大通用GBase 8a数据库,在磁盘io、cpu使用正常时,集群性能下降,有一种可能是cpu线程不足导致,具体可以收集如下信息进行分析:
1、执行show engine express status命令查看引擎状态时,发现有的计算节点Total tasks in groups值高,集群任务执行慢。
2、nmon查看该节点的磁盘IO是否正常。如果使用达100%,执行pidstat -d 2命令看出是什么进程占用磁盘IO。
3、如果IO正常,执行以下步骤进行排查:
应该是可执行线程不够。出问题的时候需要这些信息:
1)trace (load没完成节点和慢的节点)
2)show engine express status\G|grep Temp (所有gn)
3)show engine express status\G|grep RepTask (所有gn)
4)select * from performance_schema.heap_usage_info;(慢的节点)
5)pstack堆栈 (慢的节点)
6)nmon监控信息 (慢的节点)
7)show (full) processlist (慢的节点)
解决方式:
建议将_gbase_sis_ctq_threads、gbase_parallel_max_thread_in_pool参数调整为512