yt-summer 发表于 2017-1-6 08:45:29

利用apache做热备的测试

  生产要利用apache做热备了。
  做了个测试,验证热备的效果和切换的时间。
  测试客户端为loadruner, 10个并发用户
  apache配置如下:
<Proxy balancer://databuscluster>
BalancerMember http://10.17.34.226:38085
BalancerMember http://10.17.34.226:38084 status=+H   
</Proxy>
<Location /databus>
ProxyPass balancer://databuscluster/databus
ProxyPassReverse balancer://databuscluster/databus
</Location>
<Location /balancer>
        SetHandler balancer-manager
        Allow from all 
</Location>
  从 http://10.17.34.226:/balancer监控结果
  
step1。 启动两个server ,loadrunner开始发送请求,正常情况下,所有请求发送至38085:
  LoadBalancer Status for balancer://databuscluster
StickySession Timeout FailoverAttempts Method
0 1 byrequests

Worker URL Route RouteRedir Factor Set Status Elected To From
http://10.17.34.226:38085   1 0 Ok 7727 5.4M 2.4M
http://10.17.34.226:38084   1 0 Stby Ok 0 0 0
  
step2。 关闭主服务器(38085)后,请求转发至热备服务:
  LoadBalancer Status for balancer://databuscluster
StickySession Timeout FailoverAttempts Method
0 1 byrequests

Worker URL Route RouteRedir Factor Set Status Elected To From
http://10.17.34.226:38085   1 0 Err 16714 12M 5.1M
http://10.17.34.226:38084   1 0 Stby Ok 1132 805M 352M
  关闭主服务时切换服务时,测试端出现10次错误(测试端并发刚好10个user)
Action.c(36): Error -26610: HTTP Status-Code=502 (Proxy Error) for "http://10.17.34.226:8001/databus/services/databus"
  step3。  重启主服务(28085)一段时间后(感觉是秒级的,可能apache有参数设置吧),请求发送至主服务器(38085):
  LoadBalancer Status for balancer://databuscluster
StickySession Timeout FailoverAttempts Method
0 1 byrequests

Worker URL Route RouteRedir Factor Set Status Elected To From
http://10.17.34.226:38085   1 0 Ok 19467 13M 7.7M
http://10.17.34.226:38084   1 0 Stby Ok 7441 5.2M 2.3M
  之后没有请求再发往备机: 
  LoadBalancer Status for balancer://databuscluster
StickySession Timeout FailoverAttempts Method
0 1 byrequests

Worker URL Route RouteRedir Factor Set Status Elected To From
http://10.17.34.226:38085   1 0 Ok 24340 17M 9.2M
http://10.17.34.226:38084   1 0 Stby Ok 7441 5.2M 2.3M
页: [1]
查看完整版本: 利用apache做热备的测试