统计ORACLE读块的IO能力

来源:互联网 发布:赛尔号漫画制作软件 编辑:程序博客网 时间:2024/05/02 04:43

统计ORACLE读块的IO能力


忽然想到了测试数据库的真实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
flush buffer_cache; --0.172 0.156 秒

那么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
0 0