虚拟机性能优化小结

上一篇 / 下一篇  2010-04-23 10:13:34 / 个人分类:Linux

虚拟机性能优化小结

1、使用预分配的vmdk虚拟硬盘,速度不比物理分区慢。一定要使用预分配的,如果是动态增长的vmdk那速度是比预分配的vmdk 差一个数量级的。

 2、给Host机器适当留些内存,不要以为把Host上的几乎所有内存否分配给Guest机,Guest机就会跑得最快。要考虑vmware 本身也是在Host机上运行的,一般建议至少给Host机留600M内存(Linux Host 图形模式)

3、按照vmware 手册中的Performance tunning 指导进行操作,主要包括:

       3.1  vmware settings ->options->Advanced: Disable memory page trimming

      3.2  在vmx 中添加配置:sched.mem.pshare.enable="FALSE"

      3.3  在edit ->Perferences ->Memory :Fit all virtual machine memory into reserved host RAM

      3.4  尽量去掉虚拟机上不不要的设备,比如对于运行EBS的虚拟机而言,软驱、光驱、声卡都不需要。去掉。

经过上述优化后的虚拟机的磁盘IO性能测试结果如下:

     DELL PE800 + segate Sata 250G   , 使用hdparm -t 进行测试, Host 可达到74M/s  ;  虚拟机可达到 70M/s  基本与Host相当。

     另外发现在DELL PE800 + segate Sata 250G 上运行 EBS 运行时,CPU经常出现 wa  >50%的情况,说明IO是瓶颈。

     DELL PE800 + segate Sata 250 没有做Raid的情况下:hdparm -t 测试 74M/s ; DELL PE2950 + sas 硬盘 ,没有Raid的情况下hdparm -t 测试 125M/s ;Riad0 的情况下 225M/s;   可见 riad 0 的情况下,IO 速度基本是 2倍于非Raid的磁盘。

     在Host = DELL PE800 + segate Sata 250G +4G内存 + P43.0  的情况下,给Guest 分配2.8G内存;数据库Pga 设置750M , db cache 300M +  shared pool  600M +java pool 100M  ,启动后的SGA 打开1.2G;  运行ebs115102时,数据库 和应用启动后,连接一个用户,访问部分模块后,内存消耗大概在2.1G ; 访问部分页面存在等待现象,主要原因在于IO瓶颈;CPU 和 内存还暂时没有问题。 如果要改进,需要使用Raid 0;

     在vmware  中使用软Raid; vmdk分别创建在不同的物理磁盘上,IO效果是否会增强呢? (有关如何创建软raid请参考:http://net.csai.cn/store_Raid/200707251026451937.htm

    测试过程:在笔记本电脑的虚拟机上,使用4块vmdk 构成riad0 ; 其中2块vmdk在物理磁盘1上,另外2块vmdk 在屋里磁盘2上。riaid 的速度是17.5M/s , 非raid的速度是: 16M/S ; 可见 软raid0的速度提升很小。

blog.retailsolution.cn:81/archives/2445

TAG: 虚拟机 性能 优化

 

评分:0

我来说两句

Open Toolbar