欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

统计Oracle读块的IO能力

程序员文章站 2024-01-27 18:49:28
...

忽然想到了测试数据库的真实IO能力,虽然硬件工程师有套方法测试IOPS ,虽然ORACLE也推出了ORAXXX的测试小工具. 实际应用环境中 因

忽然想到了测试数据库的真实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

统计Oracle读块的IO能力