db2排序监控

  1、CPU占用资源两大源头,逻辑I/O读取,过多的排序
 2、排序造成的影响:占用CPU,增加SQL执行时间,增加死锁和超时几率,消耗内存,溢出出现IO错误。
 3、排序的三大参数
       SortHeap:
数据库配置参数。指定为每个排序分配的最大内存大小。
                       如果表的统计信息不准确,会导致优化器对要使用的排序内存的大小估算不准,有可能分配比实际需要少的内存,导致不必要的排序溢出。runstat 即是用来更新有频繁数据更改的表的统计信息。
                       专用排序专用内存页,共享排序共享内存页的最大页数 

       S
heapthres_shr  : 数据库配置参数。该参数指定了数据库共享内存集中共享排序内存池的大小,它限制了该数据库上的所有应用能达到的共享排序内存上限。(在 DB2 8 版本中,这个值是硬限制,当达到此限制后,请求排序的新应用会收到 SQL0955(reason code 2) 错误。从 DB2 9.1 起,这个参数改为软限制,超过 SHEAPTHRES_SHR 的共享排序请求可以从数据共享内存集的溢出区 (Database overflow Buffer) 获得)
       Sheapthres: 
实例配置参数。 指定为本实例中所有私有排序分配的内存上限的软限制。当私有排序分配的内存达到了此限制,新请求的私有排序的内存大小分配将会小于 sortheap 配置的大小。
------------------------------------------------------------------------------------------------------------------------
1. 当数据库管理器配置参数 sheapthres 值为 0 时,数据库的所有排序内存使用者都将使用 sheapthres_shr 控制的数据库共享内存,而不是使用专用排序内存。
2. 仅当数据库管理器配置参数 sheapthres 设置为 0 时,才允许自动调整 sheapthres_shr。
3. 仅当数据库管理器配置参数 sheapthres 设置为 0 时,才允许自动调整 sortheap。
4. sortheap 值是与 sheapthres_shr 参数一起调整的,因此,如果禁用 sortheap 参数自调整功能,也将自动禁用 sheapthres_shr 参数自调整功能。如果启用 sheapthres_shr 参数自调整功能,也将自动启用 sortheap 参数自调整功能。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
排序的快照监控
db2 -v update monitor switches using sort on
db2 -v get snapshot for database on sample | more 

主要获取
Total sorts
Commit statements attempted
Rollback statements attempted
Sort overflows
------------------------------------------------------------------------------------------------------------------------    
Sort overflows/Total sorts * 100% 表示排序溢出百分比,通常情况下,该值应该小于 3。如果大于 3,表示溢出的比例太高,需要优化
   备注:虽然增加sortheap可能暂时解决排序问题,但是正确方法是:添加索引改进SQL  
   
Total sorts time(ms)/Total sorts 表示每次排序花费的时间 ( 毫秒 ),对于交易系统来说,该值最好小于 50ms;
   
Total sorts time(ms)/(Commit statements attempted + Rollback statements attempted) 表示每个事务花费在排序上的时间。一个事务响应时间包含很多方面,比如读 / 写时间、锁时间、排序时间、CPU 时间等。排序时间越少,最终用户的响应时间也越快,占用的 CPU 资源也越少。一般情况下,大于5就表明每个事务排序过多。OLTP,设置为32768;OLAP则比32768大些。
     Sort overflows 过多,才需要增加sortheap。建议从8192开始递增。

猜你喜欢

转载自blog.csdn.net/wzh474420999/article/details/79620872
db2
今日推荐