如何查询rac中实例发送的平均消息大小
以下命令用来获取查询rac中实例发送的平均消息大小:
SQL> select sum(kjxmsize*(kjxmrcv+kjxmsnt+kjxmqsnt))/sum((kjxmrcv+kjxmsnt+kjxmqsnt)) 2 from x$kjxm 3 where kjxmrcv>0 or kjxmsnt>0 or kjxmqsnt>0;
SUM(KJXMSIZE*(KJXMRCV+KJXMSNT+KJXMQSNT))/SUM((KJXMRCV+KJXMSNT+KJXMQSNT))
------------------------------------------------------------------------
208.30605 -----byte
根据awr中 global cache load profile 中gcs/ges message receviced : gcs/ges message sent:
这两部分相加再乘以平均消息量, 即得网络上发送消息所需的通信流量。
eg:
所需的通信流量:
208*(180.5+180.3)/1024/1024=0.07M
顺便补充下:
在rac 环境中如何计算由于缓存融合活动产生的总通信流量:
首先从所有实例生成同一时间间隔内AWR报表。
总通信流量 = sum(接受块‘global cache blocks received’)*block_size + sum(接收消息 ’gcs/ges message received‘)* 平均消息大小
sum(接收块 global cache blocks recevied)=sum(提供服务的块 global cache blocks served)
sum( 发送消息 gcs/ges messages sent) = sum(接收消息 gcs/ges message received)