统计Oracle读块的IO能力 |
发布时间: 2012/9/4 17:08:01 |
忽然想到了测试数据库的真实IO能力,虽然硬件工程师有套方法测试IOPS ,虽然Oracle也推出了ORAXXX的测试小工具. 实际应用环境中 因为表空间,表的设置,块的大小等因素影响到IOPS. 比如想一个全表扫描,需要多久才能出来呢? 分别在工作负责空闲情况下,高的情况下,并行的情况下. 做公司的研发数据库上做了相应的实验,就在空闲情况下得到的时间不太有效. 比如一个表有1万个块,每个块8K 得到公司的IO能力 每秒285M; 36480块. 总觉得 ALTER SYSTEM FLUSH BUFFER_CACHE 和 SHARED_POOL 清空内存总是无效样.-
用一个384个块的表 SELET COUNT(*) FROM T_TEST FLUSH BUFFER_CACHE 和 SHARED_POOL 波动范围 0.329 ,0.297 0.266 秒 flush shared_pool; --0.187 那么IO能力是: 384/0.172*8/1024=17.44M 使用并行提示 /*+parallel(t,4)*/ /*+parallel(t,3)*/ /*+parallel(t,2)*/ 分别得到时间: 0.64 0.375 0.296 看来单CPU的并行能力很耗时间的. 内存读是多少了. 只要重复执行下就便晓得了 而得到时间是 0.031和0.015 内存IO: 96.77M和200M
本文出自:亿恩科技【www.enkj.com】 |