码迷,mamicode.com
首页 > 其他好文 > 详细

tenginx负载均衡测试

时间:2016-07-19 02:25:02      阅读:407      评论:0      收藏:0      [点我收藏+]

标签:测试

问题1:后端有多个tomcat,如何测试一台挂掉,另外一台是否工作?

三台机器
c做通a,b ssh验证

tenginx配置
    check interval=2000 rise=2 fall=2 timeout=1000 type=http;
    check_http_send "GET / HTTP/1.0\r\n\r\n";
    check_http_expect_alive http_2xx http_3xx;
测试脚本 放在c服务器上
#!/bin/bash
bnum=`ssh a ps -ef|grep tomcat|grep /opt|grep -v grep|wc -l`
if [ $bnum -eq 0 ];then
ssh b /bin/bash /home/b.sh
sleep 20
fi
ssh a /bin/bash /home/a.sh
cnum=`ssh b ps -ef|grep tomcat|grep /opt|grep -v grep|wc -l`
if [ $cnum -gt 0 ];then
sleep 20
ssh b /bin/bash /home/b.sh
fi

cat a.sh
#!bin/bash
num=`ps -ef|grep tomcat|grep /opt|grep -v grep|wc -l`
if [ $num -gt 0 ];then
num=1
fi
if [ $num -eq 0 ];then
num=0
fi
if [ $num -eq 1 ];then
cd /opt/test && sh tomcat.sh stop
fi
if [ $num -eq 0 ];then
cd /opt/test && sh tomcat.sh start
fi

c服务器crontab
*/2 * * * * root nohup sh /home/back/test.sh >>/dev/null 2>&1
tenginx检测方法
http://www.iyunv.com/thread-38535-1-1.html
http://www.sudops.com/nginx-tengine-health-check-with-domain.html
nginx负载均衡有问题  对比图形
check_http_send "HEAD / HTTP/1.1\r\nConnection: keep-alive\r\n\r\n";
注意check_http_send值的设定。由于它的默认值是"GET / HTTP/1.0\r\n\r\n"。
假设你的应用是通过
那么这里你的check_http_send值就需要更改为"GET /name HTTP/1.0\r\n\r\n"才可以。
针对采用长连接进行检查的,这里增加keep-alive请求头,
即"HEAD /name HTTP/1.1\r\nConnection: keep-alive\r\n\r\n"。
如果你后端的tomcat是基于域名的多虚拟机,
此时你需要通过check_http_send定义host,不然每次访问都是失败,
范例:check_http_send "GET /mobileapi HTTP/1.0\r\n HOST www.redhat.sx\r\n\r\n";
check_http_send "HEAD /status.html HTTP/1.1\r\nConnection: 
keep-alive\r\nHost: healthckeck.sudops.com\r\n\r\n";

验证结果

  1. 业务使用

  2. zabbix监控图

本文出自 “人,要有自己的想法” 博客,请务必保留此出处http://szgb2016.blog.51cto.com/340201/1827403

tenginx负载均衡测试

标签:测试

原文地址:http://szgb2016.blog.51cto.com/340201/1827403

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!