ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle iops与mbps小记

oracle iops与mbps小记

Linux操作系统 作者:monkeybron 时间:2016-01-20 09:42:15 0 删除 编辑

---oracle io一些参数----
http://docs.oracle.com/cd/E11882_01/server.112/e25513/stats002.htm#i375475


SQL> select * from v$statname where name like '%phy%IO%' and name not like '%cell%' or name  like '%phy%multi%' order by name;
 
STATISTIC# NAME                                                                  CLASS    STAT_ID
---------- ---------------------------------------------------------------- ---------- ----------
        44 physical read total IO requests                                           8 3343375620 -- 单或多块读的io次数
        45 physical read total multi block requests                                  8 2007302071 --多块读的io次数
        48 physical write total IO requests                                          8 1315894329 --单或多块写的io次数
        49 physical write total multi block requests                                 8 3540174003 --多块写的io次数
       


几个小概念:
   1,iops= read iops +  write iops
  
   2,iops分为单块读(写)的iops及多块读(写)的iops
  
   3,上述参数可以根据上述的统计相减即得
  
   4,测算oracle iops,即跑业务应用压力测试,上述的统计值根据时间差相减;即可得到各参数的iops
  
   5,mbps 为每秒的读写的数据大小,也是分为每秒读的数据大小 和  每秒写的数据大小
  
   6,mbps = 测试时间间隔内的读写数据大小 /  iops(读写),也就是每个每次io到底读写了多大的数据大小
  

上述6涉及到一个概念:测试时间间隔内的读写数据大小


--由下可获自上述参数
SQL> select * from v$statname where name like 'phy%%total%byte%';
 
STATISTIC# NAME                                                                  CLASS    STAT_ID
---------- ---------------------------------------------------------------- ---------- ----------
        47 physical read total bytes                                                 8 2572010804 --测试时间间隔的总共读的数据大小
        50 physical write total bytes                                                8 2495644835   --同上理
       
       

--计算单多块读写的io次数及读写数据大小
select sum(decode(name, 'physical read total IO requests', value, 0)) 测试总的读io次数,
       sum(decode(name,
                  'physical read total multi block requests',
                  value,
                  0)) 测试总的多块读io次数,
       sum(decode(name, 'physical read total IO requests', value, 0))-sum(decode(name,
                  'physical read total multi block requests',
                  value,
                  0)) 测试总的单块读io次数,
                 
       sum(decode(name, 'physical write total IO requests', value, 0)) 测试总的写io次数,
       sum(decode(name,
                  'physical write total multi block requests',
                  value,
                  0)) 测试总的多块写io次数,
       sum(decode(name, 'physical write total IO requests', value, 0))-sum(decode(name,
                  'physical write total multi block requests',
                  value,
                  0)) 测试总的单块写io次数,
      
       sum(decode(name, 'physical read total bytes', value, 0)) 测试总的读数据大小,
      
       sum(decode(name, 'physical write total bytes', value, 0)) 测试总的写数据大小,
      
       sum(decode(name, 'physical read total bytes', value, 0))+
       sum(decode(name, 'physical write total bytes', value, 0)) 测试总的读写数据大小          
                                        
  from v$sysstat;
 
 
 
SQL> /
 
       测试总的读IO次数          测试总的多块读IO次数          测试总的单块读IO次数        测试总的写IO次数          测试总的多块写IO次数          测试总的单块写IO次数          测试总的读数据大小          测试总的写数据大小           测试总的读写数据大小
----------------                --------------------           --------------------        ----------------          --------------------          --------------------          ------------------          ------------------           --------------------
           26663                   66                            26597                      12354                     28                           12326                         440291840                   193326592                    633618432
 
SQL>

----测试代码
23:09:03 SQL> begin
23:09:06   2  for i in 1..5000000 loop
23:09:06   3  insert into t_other values(i,i);
23:09:06   4  if mod(i,10000)=0 then
23:09:06   5  commit;
23:09:06   6  end if;
23:09:06   7  end loop;
23:09:06   8  end;
23:09:06   9  /

PL/SQL procedure successfully completed.

Elapsed: 00:10:18.85            

 

SQL> /
 
       测试总的读IO次数          测试总的多块读IO次数          测试总的单块读IO次数        测试总的写IO次数          测试总的多块写IO次数          测试总的单块写IO次数          测试总的读数据大小          测试总的写数据大小           测试总的读写数据大小
----------------                --------------------           --------------------        ----------------         --------------------          --------------------            ------------------        ------------------ --------------------
           32429                 1312                            31117                      22537                      5979                          16558                        1807550976                  3349968384           5157519360
 
SQL>     

-----------单块读的iops
select (31117 - 26597)/(10*60) from dual; -- 7.53333333333333 差不多是8个单块读iops

 

-----------单块写的iops
select (16558-12326)/(10*60)  from dual; ---差不多单块写的iops 7.05333333333333


---单块读写总的iops
8+7=15 --差不多iops为15

 


----------多块读的iops

select (1312 - 66)/(10*60) from dual;-- 2.07666666666667 差不多是3个多块读iops


--------多块写的iops

select (5979-28)/(10*60)    from dual;-- 9.91833333333333 差不多是10个多块写iops

---多块读写的总的iops

3+10=13  --差不多iops为13


---再看下吞吐量

---读的mbps
select (1807550976-440291840)/(10*60)/(1024*1024) as mbps from dual;-- 2.17319986 差不多2mb多点


---写的mbps

select   (3349968384-193326592)/(10*60)/(1024*1024) as mbps  from dual;---5.01734700 差不多5mb多


---总的mbps

select (5157519360-633618432)/(10*60)/(1024*1024) from dual;---7.190546875 总的吞吐量为7.190546875 7mb多


---当前存储的mbps吞吐量

---存储的性能主要3个指标:iops,mbps,latency即网络延时
http://www.eygle.com/archives/2007/12/orion_hp_storage_mas1000.html

 

--压力测试下的iops及mbps相关
http://blog.chinaunix.net/uid-7812899-id-3200623.html

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30182853/viewspace-1979403/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-03-30

  • 博文量
    70
  • 访问量
    94590