什么样的服务器让云发挥效率(1)


从基础架构层面来看,一个有效率的云计算环境,必然也要一个有效率的服务器。而服务器的效率目前主要体现在两方面,一方面是服务器自身的工作效率,也就是利用率和执行效率。另一方面是服务器的能效,也就是能耗情况。这是大家衡量服务器效率的两个重要指标,而围绕这两个方面我们可以做很多有意思的讨论。

服务器利用率是关键

提升服务器的利用率,一般来说是工作效率的主要体现。原因很简单:如果一台服务器,性能再好,其利用率低下,那么这台服务器的工作效率也就很低。从成本上看,我们也希望服务器工作在满负荷状态,而不是总在空闲状态。

那么如何提升服务器的利用率呢?我们需要先分析一下服务器利用率低的形成原因。首先是没有那么多的工作负载——这就牵扯到了有效投资和对服务器的了解。接着,要是工作负载过高呢,也会造成计算上的I/O拥堵,形成低利用率。以上两个问题其实是个任务调度和负载均衡的问题。而另一方面,利用率还和服务器的配置瓶颈有关。

什么样的服务器让云发挥效率

在早先的一些机器里,虽然服务器计算性能很强大,核心数也很多。但是利用率总上不去,原因在于内存过小,形成了系统瓶颈——如今在英特尔至强E5、AMD推土机架构以及Power7为代表的小型机面前,内存容量已经不是问题。而新的瓶颈则更加层出不穷——主频敏感的应用并不适合在多核环境中,而是需要类似Power7这样高主频的服务器来提升利用率。反过来,一些对线程敏感的应用,则需要AMD推土机架构这样的多核心处理。在HPC等层面,英特尔CPU架构有更好的表现。

可以看出,了解自身的应用类型并且合理的配置服务器是解决系统瓶颈,提高服务器利用率的重要影响因素。

那么负载均衡方面呢?先说说传统的做法,传统上负载均衡是通过对服务器的实时监测,用人工或者负载均衡算法平摊工作负载,这样做的好处是实现较为简单,缺点是费时费力,总是要调整。也有厂商推出了自学习和有众多策略的负载均衡软件,甚至有硬件产品来完成作业调度。但这毕竟是一种治标不治本的方法。

于是虚拟化这种大一统的手段就成了大家普遍推广应用的手段,并且上升成为云计算的基石。原理很简单,就是池化资源——用虚拟化的手法将服务器集群的计算能力、存储能力、网络带宽虚拟成一个个资源池,在其中动态的划拨计算资源,这样就没有了单纯服务器的区隔,也就绕过了负载均衡的难题。

然而让我们把话题重新聚焦的服务器层面——提升利用率和虚拟化的直接关联在哪里?就在于原先一些空余的计算资源可以虚拟出来分配给其他的应用任务,并且这是和目前已有的应用彼此区隔的。

这句话很拗口,你可以想成是把你自己劈成两半,一个干重体力活,剩下的那一点力气干点轻松的活,总的目标是把你的力气占用满——这就是提高利用率。

综上所述,我们得出两个结论:首先我们需要根据应用类型选择合适的服务器,这样就能最大化的提升利用率;接着在这基础上如果采用了虚拟化解决方案,则能更大限度的榨取服务器资源,更大规模的提升利用率。也为云计算打好了基础。


相关内容