做打鱼网站犯法不,有名的网站,wordpress设置访问密码,安徽省城乡和建设厅网站丢包的另一个思路#xff0c;内核里有些counter的计数#xff0c;记录的不准确。这个时候怎么办#xff1f;就需要使用另外一个方式#xff1a;/sys/kernel/debug/tracing/event/skb/kfree_skb 的跟踪功能。这个算是对counter的一个补充#xff0c;可以拿来做统计分析使用…丢包的另一个思路内核里有些counter的计数记录的不准确。这个时候怎么办就需要使用另外一个方式/sys/kernel/debug/tracing/event/skb/kfree_skb 的跟踪功能。这个算是对counter的一个补充可以拿来做统计分析使用。 然后收集trace文件里的内容。再根据里面的内容来统计丢失的原因然后根据代码去看为什么。 比如下面一个就可以看到主要的丢包原因是qdisc丢了。 #cat /root/mark.trace | awk -F’:’ ‘{print $4}’ | sort | uniq -c | more 18509 NOT_SPECIFIED 904 NO_SOCKET 123714 QDISC_DROP 632 TCP_INVALID_SEQUENCE 63 TCP_OLD_DATA
然后再根据tc qdisc的命令查看具体的丢包原因是因为overlimit超过了limit的限制。这个时候就可以尝试通过修改limit来解决问题。这里主要的问题是一个网络burst的问题。 #tc -s -d qdisc show qdisc noqueue 0: dev lo root refcnt 2 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 qdisc fq_codel 0: dev int0 root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64 Sent 12347100936 bytes 18084492 pkt (dropped 127799, overlimits 0 requeues 3) backlog 0b 0p requeues 3 maxpacket 30107 drop_overlimit 123714 new_flow_count 348529 ecn_mark 0 new_flows_len 0 old_flows_len 0