设为首页 收藏本站
查看: 732|回复: 0

[经验分享] apache lbmethod

[复制链接]

尚未签到

发表于 2016-12-29 09:14:09 | 显示全部楼层 |阅读模式
Apache Proxy lbmethod
 
 
基本上就是翻译文章,加上了一点自己的理解,先记录下来,以后理解深刻了在修改。

 
 
1.1 Request Counting Algorithm 请求计数算法
 
是一种基于轮循的请求计数算法,在每个worker 之间分发请求,确保每个worker 能够得到的请求数量 和配置的共享的请求数量一致。
ProxySet lbmethod=byrequests
 
lbfactor :一个worker 工作的频率
lbstatus :由worker 完成请求的紧急程度,数字越大越优先。所有的lbstatus的总和是不变的。
 
 
 
伪代码如下:每次请求都会执行代码
 
for eachworker in workers

    worker lbstatus += worker lbfactor

    total factor    += worker lbfactor

    if worker lbstatus > candidate lbstatus

        candidate = worker

 

candidatelbstatus -= total factor

 
 
例一:
worker

a

b

c

d

lbfactor

25

25

25

25

lbstatus

25

25

25

25

lbstatus

-75

25

25

25

lbstatus

-50

-50

50

50

lbstatus

-25

-25

75-100=-25

75

lbstatus

0

0

0

100-100=0

 

 

 

 

重复

 
选择顺序为a,b,c,d 然后又是a,b,c,d
例二:如果b down 掉了,那个lbstatus 的总和就为75,那么调度器的算法就如下所示:
 
worker

a

b

c

d

lbfactor

25

0

25

25

lbstatus

-50

0

25

25

lbstatus

-25

0

-25

50

lbstatus

0

0

0

0

(repeat)

 
调度策略就为a,c,d,a,c,d
 
 
 
1.2 Weighted Traffic Counting Algorithm 加权流量技术算法
 

 lbmethod=bytraffic, Request Counting方法相似其中主要变化如下:

lbfactor :是我们希望worker 处理的字节数,是从worker 能够看到的流量方面考虑。

例如:

worker

a

b

c

lbfactor

1

2

1

 

这意味着我们系统b相对于与ac来说能够处理2倍的字节数。这并不意味着b能够处理2倍的请求,而是处理2倍的I/O。因此,请求和响应的数据 应用在了 加权和选择算法中。

 

 

 

 

 

1.3 Pending Request Counting Algorithm 等候的请求计数算法
 

lbmethod=bybusyness,

调度器记录了每个worker 当前被赋予了多少请求,新的请求被自动分发给那些活跃请求数最少的worker。对那些收到请求进行排队的workers 这个算法非常有用,为了让队列的长度保持稳定,一个请求总是给 那些可能响应最快的worker.

在多个 最不忙的workers中,由 Request Counting方法采用的统计经常会打破这个关系。慢慢的,请求的分发将演变成 byrequests 这个特征了。
 
这个算法在Apache HTTP Server2.2.10 版本之后由效果。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-320874-1-1.html 上篇帖子: Apache TCPMon 下篇帖子: Apache OFBiz
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表