单台服务器的性能很好判定,但是很多公司都会对虚拟化服务器上线后的性能状况有所疑虑,而虚拟化服务器性能如何评估呢?某公司要评估一台已经上线的12核心的服务器,目前规划两个Guest OS分别操作数据库和文档共享,如果性能出现瓶颈,要以数据库的Guest OS为优先。
如果只有两个GuestOS,以规格来看,瓶颈应不会在CPU性能上,反而是硬盘I/O跟网络速度的性能比较有可能,而内存数量及使用规划也要注意。另外如果是无法长期停机的机器,需要评估备份或后备规划,以及后备系统版权授权规定及费用。
关键瓶颈是磁盘I/O,并非CPU。需要跟进的事情是:
1.在旧主机上面,先监测出跑报表所需要的IOPS有多少?并精算VM硬盘。
2.如果文档复制会占用主机所有的IOPS,这种工作不适合跟其他VM共享磁盘。
所以,如果要拆开,主因并不是CPU不够用(跑报表跟文档复制,根本用不到多少CPU资源),而是磁盘的I/O资源会被文档复制全部占用,造成其他的VM排队等候。
想想看,一个VMHost上面有多少VMGuest,要同时存取I/O?
而且,在VMHost可以设定分配给每个VMGuest服务器的CPU、Memory资源量(Min/Max),以及VMHost保留多少自己用(如果VMHost自己都跑不动,要怎么去管理VMGuest)。
在虚拟化软件的选择上,如果是VMwareESX(i),可以透过vSphereClient或vCenter新增Resourcepool,来设定GuestOS的CPU资源。
可以测试一下:报表跑数据大量择取的时候,使用“Windows工作管理员/处理程序”查看CPU与内存以及I/O的状态。
虽然将它们放在同一台主机,但是文档服务给它一个完全独立的磁盘子系统,不跟其他VM共用,那这样就不会有以上的顾虑,还是可以放在一起。
例如,你可以买一台SAN给文档服务的VM专用,但另买一台SAN给其他的VM共用,***,数据库的问题还是要回到IOPS上来。我遇过80%以上想做虚拟化的新手,都不知道原本旧主机上数据库的瓶颈是在DiskI/O。一般说来,跑ERP报表吃掉1,000~3,000IOPS是很常见的状况,这代表RAID至少要5到15颗以上来组合,才足够应付这样的IOPS。
根据以往的经验,在看到这个数据之前,用户都一直认为瓶颈是CPU,所以要换新主机来提升CPU,但看过监测数据之后才知道,其实瓶颈都在IOPS。
补充一下,一般状况下,一颗SATA硬盘的IOPS只有70到80左右,一颗15KSAS硬盘的IOPS,大约200到240左右。组成RAID多颗硬盘时,IOPS会跟着你的硬盘数量而增加,例如使用96颗硬盘组成RAID-5的一台DellMD3200i,实测数据上,IOPS可以高达40,000。