影响虚拟服务器应用性能的瓶颈问题

服务器虚拟化已经以势不可挡之势横扫全球数据中心。由于服务器虚拟化可以削减服务器整合的成本和管理费用,这项技术的未来显得非常光明。

系统管理员们经常发现,从物质世界转向虚拟世界的时候,应用软件的性能往往会受到影响。 各厂商一直未能解决这个问题,它们开发出许多有关SAN存储技术的解决方案。

如果管理不当,虚拟服务器应用软件的性能会因下列四个瓶颈问题而降低:

–虚拟服务器中的带宽配额超载(oversubscription);

–磁盘和目标存储系统中的带宽配额超载;

–SAN结构中的带宽配额超载;

–目标存储设备端口带宽配额超载。

此处的带宽配额超载是指分配给特定端口或设备的潜在带宽数量比可用带宽的数量多。带宽配额超载运营了统计概率,毕竟所用用户或所用应用软件同时使用带宽的概率还是很低的。 这样就可用减少闲置资源,提高资源利用率并大幅削减成本。从经济的角度来说,这样做也有很大的意义。

带宽配额超载的负面效应是,虽然用户或应用软件同时使用所分配的带宽的概率很低,但是仍有可能发生这种情况,那样系统的性能就会大幅降低。如果带宽配额超载的数量不多,那么这样做的风险还是很低的。 但是各级带宽配额超载的负面效应累积起来后,性能降低的可能性就显著增高了。

下面就详细解释下每一级的带宽配额超载瓶颈是如何导致系统性能降低的。

带宽配额超载:虚拟服务器

服务器的带宽配额超载正是服务器虚拟化技术的本质。如果有太多的来宾账户和应用软件争夺服务器资源,就会出现大量带宽配额超载的情况。 到底过多是指多少,要根据各应用软件需要消耗的服务器资源来定。

另一个影响系统资源承受能力的因素是管理程序的存储虚拟化层数。管理程序就是在此将分配给物理服务器的LUN分割成虚拟LUN。 传统SAN存储系统中被分配到的目标LUN与一定数量的RAID硬盘连接在一起(通常不会超过8个)。 由于每一台物理服务器都有着独一无二的LUN,而在虚拟世界里,同一个LUN可用同时对应着多台虚拟服务器。其中又夹杂着大量带宽配额超载的问题。

带宽配额超载:磁盘与目标

每一个磁盘驱动器的待命队列的长度都是有限的,如果待命指令超过限制,磁盘驱动器就会向存储系统发出占线信号。存储系统也是如此,如果它的待命队列长度超出限制,它也会向应用软件发出占线信号。 光纤信道或SAS磁盘的待命队列长度为256到512个指令。每个SATA磁盘的队列长度最多为32个指令,而且在大多数情况下它们的队列长度为0。(大部分情况下,待命队列是排在磁盘控制器而非SATA磁盘处。)

这就意味着从SATA磁盘RAID群中提取出来的LUN会比那些从SAS磁盘RAID群或者光纤信道磁盘RAID群中提取出来的LUN更容易争夺资源。在这种情况下,如果管理程序上的输入输出指令或信息耗用量大的来宾账户数量太多,甚至连磁盘也会争夺资源。

带宽配额超载:结构

SAN的带宽配额超载都是人为的。最佳组合是服务器和存储器的目标端口的比例在8比1左右。 如果输入输出指令或信息耗用量大的应用服务器太多,就要求带宽配额超载率不能过高。如果输入输出指令或信息耗用量大的应用服务器很少,带宽配额超载率就可以相对较高。

当物理应用服务器通过服务器虚拟化技术整合在一起后,如果SAN没有根据虚拟服务器的宽度配额超载情况重新配置,那么应用软件性能就很可能会降低。配置不好的SAN结构性带宽查超额配置会导致严重的结构性阻塞。

带宽超额配置:目标端口

不但SAN结构中的带宽配额超载太多会导致阻塞故障,从而降低应用软件到存储设备的性能。目标存储端口的带宽配额超载过多也会造成同样的结果。

结论:

带宽配额超载不是坏事,实际上它对于提高资源利用率和降低成本来说还非常有用。但是不幸的是,带宽配额超载数量过多,就会导致坏的结果。