虚拟化 频道

在Win2008 R2上实现虚拟化的注意事项

  二、要注意I/O对虚拟服务器性能的影响

  从理论上讲,Win2008 R2 操作系统支持多达十几个的CPU处理器,支持的内存也很大。但是需要注意的是,有时候这个CPU越多或者内存越大,并不能够代表服务器的性能越好。有时候,即使配置了很多的CPU或者内存,其实际的负荷率都很低。但是应用服务器的性能仍然不是很理想。这是怎么回事情呢?因为CPU与内存的大小虽然在很大程度上决定了服务器的性能,但是并不是唯一的确定因素。当CPU与内存不再是左右服务器性能的因素时,I/O能力对服务器性能的影响就会很突出。特别是在虚拟服务器的环境下。

  如现在要把分布在五个服务器上的应用服务利用hyper-v技术集中在一台服务器上实现。此时会出现什么情况呢?首先,本来分散在五台服务器上的网络流量都要集中在一台服务器上来。也就是说,现在虚拟服务器处理CPU与内存的负担加重之外,更重要的是同一块网卡、同一根网线需要传输更多的数据。其次使用hyper-v虚拟服务器后,数据的读取也是在原先的硬盘上完成。这也就是说,硬盘的I/O负担也会成倍的增加。为此如果虚拟服务器的CPU和内存配置确实比较好,在部署虚拟服务器之前其负荷率只有3%。即使实现了虚拟服务器集成多个应用服务器后,其负荷率也只有达到40%左右,也是可以接受的。但是此时很可能性能没有系统管理员想象的那么好。这主要是因为现在影响虚拟服务器上应用服务性能的瓶颈因素是I/O能力(网络网络的吞吐量与硬盘的吞吐量),而不是CPU或者内存。

  这就好像商品房开发中的房间与电梯的关系。开发商有这个实力的话,尽管可以造高楼大厦,造的越高,房间越多。这就好像虚拟服务器配置越高,可以合并的应用服务器越多。但是此时进出这幢大楼的人多,此时大楼即使可以容纳数以百万计的人,但是由于电梯数量有限,他们的出入将收到很大的限制。他们不得不花很长的时间来等待电梯。这就使I/O能力不足的表现。为此有些访问量高的大楼,如商场等等,即使面积不大,也必须配置多部电梯来分散客流。这跟虚拟服务器是相同的道理。

  为此如果在服务器上利用虚拟化技术合并了多个应用服务的话,系统管理员就有可能需要视情况来调整一下硬件配置。如采用I/O性能更好的硬盘。或者采用磁盘阵列技术来提高硬盘的I/O能力。再或者在虚拟服务器上配置多块网卡或者将虚拟服务器部署在主干路由器上来提高网络传输的性能。总之,无论是采用哪一家的虚拟化软件,其服务器的性能优化就会变得更加的复杂。为此在使用Hyper-V,笔者对各位系统管理员的建议是慎重。特别是企业已经有多台实体服务器的情况下,不要为了赶时髦,而利用Hyper-V虚拟化技术将他们集成在同一台服务器上。

 

0
相关文章