linux – 如何检查rx ring,max_backlog和max_syn_backlog大小
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux – 如何检查rx ring,max_backlog和max_syn_backlog大小,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2695字,纯文字阅读大概需要4分钟。
内容图文
![linux – 如何检查rx ring,max_backlog和max_syn_backlog大小](/upload/InfoBanner/zyjiaocheng/959/f2a6487a53ae401a8212e6a1b3fb2ad8.jpg)
经常在故障排除和调整过程中,我发现自己在考虑以下Linux内核设置:
net.core.netdev_max_backlog
net.ipv4.tcp_max_syn_backlog
net.core.somaxconn
除了fs.file-max,net.ipv4.ip_local_port_range,net.core.rmem_max,net.core.wmem_max,net.ipv4.tcp_rmem和net.ipv4.tcp_wmem之外,它们似乎是混乱的重要因素.你正在调整一个高水平并发的盒子.
我的问题:如何查看每个队列中有多少项?通常人们只是设置它们超高,但我想记录这些队列大小,以帮助预测未来的失败,并在用户明显的方式表现之前捕获问题.
解决方法:
我也想知道这一点,并且受到你的问题的激励!
我已经收集到了与您列出的每个队列的距离,以及与每个队列相关的一些信息.我欢迎评论/反馈,对监控的任何改进都会使事情变得更容易管理!
net.core.somaxconn
net.ipv4.tcp_max_syn_backlog
net.core.netdev_max_backlog
$netstat -an | grep -c SYN_RECV
将显示队列中当前的全局连接数,如果要从监视应用程序中轮询它,可以在每个端口中将其分解并将其放在snmpd.conf中的exec语句中.
从:
netstat -s
这些将显示您查看队列请求的频率:
146533724 packets directly received from backlog
TCPBacklogDrop: 1029
3805 packets collapsed in receive queue due to low socket buffer
fs.file-max
从:
http://linux.die.net/man/5/proc
$cat /proc/sys/fs/file-nr
2720 0 197774
此(只读)文件提供当前打开的文件数.它
包含三个数字:分配的文件句柄数,
空闲文件句柄数和最大文件句柄数.
net.ipv4.ip_local_port_range
如果您可以构建服务的排除列表(netstat -an | grep LISTEN),那么您可以推断出用于短暂活动的连接数量:
netstat -an | egrep -v "MYIP.(PORTS|IN|LISTEN)" | wc -l
还应监控(来自SNMP):
TCP-MIB::tcpCurrEstab.0
收集有关此树中所有状态(已建立/ time_wait / fin_wait / etc)的统计信息可能也很有趣:
TCP-MIB::tcpConnState.*
net.core.rmem_max
net.core.wmem_max
您必须为setsockopt请求dtrace / strace系统.我不认为这些请求的统计数据会被跟踪.这不是一个真正改变我的理解的价值.您部署的应用程序可能会要求标准数量.我认为您可以使用strace’配置’您的应用程序并相应地配置此值. (讨论?)
net.ipv4.tcp_rmem
net.ipv4.tcp_wmem
要跟踪您与极限的接近程度,您必须从(定期)查看tx_queue和rx_queue字段的平均值和最大值:
# cat /proc/net/tcp
sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
0: 00000000:0FB1 00000000:0000 0A 00000000:00000000 00:00000000 00000000 500 0 262030037 1 ffff810759630d80 3000 0 0 2 -1
1: 00000000:A133 00000000:0000 0A 00000000:00000000 00:00000000 00000000 500 0 262029925 1 ffff81076d1958c0 3000 0 0 2 -1
要跟踪与此相关的错误:
# netstat -s
40 packets pruned from receive queue because of socket buffer overrun
还应监控全局“缓冲”池(通过SNMP):
HOST-RESOURCES-MIB::hrStorageDescr.1 = STRING: Memory Buffers
HOST-RESOURCES-MIB::hrStorageSize.1 = INTEGER: 74172456
HOST-RESOURCES-MIB::hrStorageUsed.1 = INTEGER: 51629704
内容总结
以上是互联网集市为您收集整理的linux – 如何检查rx ring,max_backlog和max_syn_backlog大小全部内容,希望文章能够帮你解决linux – 如何检查rx ring,max_backlog和max_syn_backlog大小所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。