计算WEB服务器最大负载量
MonitorDaemon将各个服务器的综合负载值和(hé)当前权值算出一(yī)组新的权值,若新权值和(hé)当前权值的差值大于设定的阀值,MonitorDaemon将该服务器的权值设置到內(nèi)核中的IPVS调度中,而在內(nèi)核中连接调度一(yī)般采用加权轮叫调度算法或者加权最小连接调度算法。
动态反馈负载均衡算法
考虑服务器的实時(shí)负载和(hé)响应情况,不断调整服务器間(jiān)处理請(qǐng)求的比例,来避免有些服务器超载時(shí)依然收到大量請(qǐng)求,從(cóng)而提高整个系统的吞吐率。图1显示了(le)该算法的工(gōng)作(zuò)环境,在负载调度器上(shàng)运行(xíng)MonitorDaemon进程,MonitorDaemon来监視(shì)和(hé)收集各个服务器的负载信息。MonitorDaemon可(kě)根据多个负载信息算出一(yī)个综合负载值。
MonitorDaemon将各个服务器的综合负载值和(hé)当前权值算出一(yī)组新的权值,若新权值和(hé)当前权值的差值大于设定的阀值,MonitorDaemon将该服务器的权值设置到內(nèi)核中的IPVS调度中,而在內(nèi)核中连接调度一(yī)般采用加权轮叫调度算法或者加权最小连接调度算法。
连接调度
当客户通(tōng)过TCP连接访問(wèn)网络访問(wèn)時(shí),服务所需的時(shí)間(jiān)和(hé)所要(yào)消耗的计算资源是千差万别的,它依赖于很(hěn)多因素。例如(rú),它依赖于請(qǐng)求的服务类型、当前网络带宽的情况、以及当前服务器资源利用的情况。一(yī)些负载比较重的請(qǐng)求需要(yào)进行(xíng)计算密集的查询、數(shù)据库访問(wèn)、很(hěn)長(cháng)响应數(shù)据流;而负载比较轻的請(qǐng)求往往只需要(yào)读一(yī)个HTML页面或者进行(xíng)很(hěn)简单的计算。
請(qǐng)求处理時(shí)間(jiān)的千差万别可(kě)能(néng)会导致服务器利用的倾斜(Skew),即服务器間(jiān)的负载不平衡。例如(rú),有一(yī)个WEB页面有A、B、C和(hé)D文件,其中D是大图像文件,浏览器需要(yào)建立四个连接来取這(zhè)些文件。当多个用户通(tōng)过浏览器同時(shí)访問(wèn)该页面時(shí),最极端的情况是所有D文件的請(qǐng)求被发到同一(yī)台服务器。
所以说,有可(kě)能(néng)存在這(zhè)样情况,有些服务器已经超负荷运行(xíng),而其他(tā)服务器基本是闲置着。同時(shí),有些服务器已经忙不过来,有很(hěn)長(cháng)的請(qǐng)求队列,还不断地(dì)收到新的請(qǐng)求。反过来说,這(zhè)会导致客户長(cháng)時(shí)間(jiān)的等待,觉得系统的服务质量差。
简单连接调度
简单连接调度可(kě)能(néng)会使得服务器倾斜的发生。在上(shàng)面的例子中,若采用轮叫调度算法,且集群中正好有四台服务器,必有一(yī)台服务器总是收到D文件的請(qǐng)求。這(zhè)种调度策略会导致整个系统资源的低(dī)利用率,因為(wèi)有些资源被用尽导致客户的長(cháng)時(shí)間(jiān)等待,而其他(tā)资源空闲着。
实际TCP/IP流量的特征
文献说明(míng)网络流量是呈波浪型发生的,在一(yī)段较長(cháng)時(shí)間(jiān)的小流量后,会有一(yī)段大流量的访問(wèn),然后是小流量,這(zhè)样跟波浪一(yī)样周期性地(dì)发生。文献揭示在WAN和(hé)LAN上(shàng)网络流量存在自(zì)相似的特征,在WEB访問(wèn)流也存在自(zì)相似性。這(zhè)就需要(yào)一(yī)个动态反馈机制,利用服务器组的状态来应对访問(wèn)流的自(zì)相似性。
上(shàng)一(yī)条:塔式、机架和(hé)刀片三种服务器
下(xià)一(yī)条:双核处理器单核到CMP的过渡