虚拟机性能优化小结
虚拟机性能优化小结
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的速度提升很小。
关于作者:
昵称:商云方 档案信息:顾问, HAND张江技术中心 联系方式:你可以通过yunfang.shang@hand-china.com联系作者 点击查看商云方发表过的所有文章... 本文永久链接: http://blog.retailsolution.cn/archives/2445 |
对本文的评价: