Chinaunix
标题:
lvs后的nginx status页数据问题
[打印本页]
作者:
剑啸易水寒
时间:
2013-05-08 17:32
标题:
lvs后的nginx status页数据问题
本帖最后由 剑啸易水寒 于 2013-05-08 17:34 编辑
lvs+keepalived--->nginx+apache 结构,未上lvs前nginx+phpcgi单台并发2K,
LVS:(DR模式)
Prot LocalAddress
ort Scheduler Flags
-> RemoteAddress
ort Forward Weight ActiveConn InActConn
TCP 192.168.3.100:80 wlc persistent 60
-> 192.168.3.101:80 Route 100 447 614
-> 192.168.3.102:80 Route 100 481 330
同一台RS:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
TIME_WAIT 2236
FIN_WAIT1 4
FIN_WAIT2 2
ESTABLISHED 437
SYN_RECV 18
CLOSING 1
LAST_ACK 12
页面: http://localhost/status
Active connections: 11780
server accepts handled requests
390245 390245 1834096
Reading: 614 Writing: 834 Waiting: 10332
两种查看并发的方法,数据差距很大
是否是内核设置或者长连接问题?该从何处入手?
lvs :
ipvsadm -Ln --timeout
Timeout (tcp tcpfin udp): 120 60 120
nginx:
keepalive_timeout 60;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
apache:
Timeout 30
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
请各位帮忙看一下是什么问题。谢谢。
作者:
剑啸易水寒
时间:
2013-05-09 09:23
这个问题只有靠CU解了,跑了好多论坛都搞不定
作者:
xiaodylan
时间:
2013-05-09 13:49
TIME_WAIT 2236 TIME_WAIT数量稍微有点高
建议查看一下net.ipv4.tcp_fin_timeout 这个参数的设置。
作者:
剑啸易水寒
时间:
2013-05-09 15:50
回复
3#
xiaodylan
net.ipv4.tcp_fin_timeout = 1
作者:
xiaodylan
时间:
2013-05-09 16:07
建议根据你的业务情况设置为10或者20 试试看,如果在不行,就问一下开发,是不是有某些PHP代码没有close()
回复
4#
剑啸易水寒
作者:
剑啸易水寒
时间:
2013-05-09 17:51
回复
5#
xiaodylan
下午我尝试在lvs上ipvsadm --set 30 5 60 ,nginx状态页的数据涨幅没有以前那么快了,但是还是会不断增加,直至503重启
作者:
xiaodylan
时间:
2013-05-10 10:34
本帖最后由 xiaodylan 于 2013-05-10 10:36 编辑
"还是会不断增加,直至503重启"
不太了解你的环境到底是什么样的!再有你的 Waiting: 10332 waiting连接好大...我觉得好像还是你的系统参数设置问题..
回复
6#
剑啸易水寒
作者:
剑啸易水寒
时间:
2013-05-10 11:16
回复
7#
xiaodylan
您可以看到,当时命令行下TIME_WAIT 2236,这个才是实际值,也就是说三个数据(lvs ActiveConn、nginx status、netstat EST)不对称,lvs ActiveConn和netstat EST是近似的,nginx status和其他差距很大
作者:
剑啸易水寒
时间:
2013-05-10 11:16
回复
7#
xiaodylan
您可以看到,当时命令行下TIME_WAIT 2236,这个才是实际值,也就是说三个数据(lvs ActiveConn、nginx status、netstat EST)不对称,lvs ActiveConn和netstat EST是近似的,nginx status和其他差距很大
作者:
xiaodylan
时间:
2013-05-10 11:27
/proc/sys/net/ipv4/ip_conntrack_max
/proc/sys/fs/file-max
这两个值 分别是多少?
作者:
剑啸易水寒
时间:
2013-05-10 22:14
回复
12#
xiaodylan
net.ipv4.ip_conntrack_max = 1310720000
fs.file-max = 1024000
这个应该没有问题吧
作者:
Exhalo
时间:
2013-05-11 09:48
这个脚本我很喜欢..也很实用,可是为什么我这边总是什么都不返回,不好使呢!没办法只好grep 挨个查,哎.. netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
回复
1#
剑啸易水寒
作者:
剑啸易水寒
时间:
2013-05-22 23:08
这个问题还没有解决,,请各位援手
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2