最近测试数据库入库性能,oracle装的10.2.0.4,使用occi批量入库。 
有个机器(p1)运行入库测试程序表现良好, 
另外一个机器(p2)表现很差 
两台机器的配置基本差不多(oracle都装的一样),都是8个cpu,但是p2的硬盘是15000转的,按说比p1的7200强。 在p2上运行测试程序的时候,vmstat显示 
us sy id wa 
1  0  97  2 
0  0  87 12 
0  0  87 12 
0  0  87 12 
3  0  89 7 
6  1  81 11 
4  1  83 12 
0  0  87 12 
.... iostat 有时候显示 
%user %nice %sys % iowait %idle 
0.3  0.0  0.38    12.48 .... 
这时磁盘的写入速度(wkB/s)2-4M的样子; 有时候%user和%sys有几个百分点, 
这时,磁盘写入速度有3、40M的样子; 但是%util这一项基本都在99%。 
p1运行的时候%util基本在50%左右。 请教大虾们指点一下p2的状况分析。 
感觉p2的磁盘老是写写停停(%user时常为0),为什么咧?  
 
 
btw, p2的入库效率比p1慢1半多 
 

解决方案 »

  1.   

    “这时磁盘的写入速度(wkB/s)2-4M的样子”??
    用的什么磁盘,这个速度绝对有问题了。造成下面iowait有点高,同时%util 99%,I/O太多,已经满负荷了,表明磁盘存在读写瓶颈。
      

  2.   

    15000转,应该是SAS硬盘了吧?
    单纯硬盘的读写来说,肯定是要快上一些的,疑惑!
    另外我不明白这个跟多县城有什么关系!
      

  3.   

    你的数据表现的非常不合理,是不是有其他的应用程序在进行操作,或者难道是中毒另外,你看看你的系统的swap空间是多少,这个空间太少了会有一些磁盘I/O的问题的
      

  4.   

    原因大概找到了,因为redo日志组太少(小)了,我们那些服务器现在改用用10组(每组1个文件)左右100M的文件,速度提升了80%左右。 默认的redo日志组3个50M的