TCPCopy 常见问题


TCPCopy 常见问题:
出现 timeout 或者是频繁丢包

sysctl -w net.core.rmem_max=131071
sysctl -w net.core.wmem_max=131071
sysctl -p

虚拟机使用 ab 测试的结果
会有包堆积的情况 不会马上处理 在 ab 测试数据跑完后 依然在处理数据包
10000 100 缺包不明显
10000 500 出现 ack 处理异常 缺包不明显
10000 1000 出现 ack 处理异常 缺包不明显 有内存堆积不到 1MB
10000 2000 出现 ack 处理异常 缺包明显 3000 左右 有内存堆积 11MB
20000 500 出现 ack 处理异常 缺包不明显 有内存堆积 11MB
20000 1000 出现 ack 处理异常 缺包明显 13000 左右 有内存堆积 21MB
20000 2000 出现 ack 处理异常 缺包明显 13000 左右 有内存堆积 28MB

notrack

--with-single
nfqueue

通过 cat /proc/net/ip_queue,查看 ip queue 运行情况,如果 Queue dropped 的数值不断增大,则需要修改
ip_queue_maxlen 参数,比如 echo 4096 > /proc/sys/net/ipv4/ip_queue_maxlen;如果 Netlink dropped 的数值不断增大,修改 net.core.rmem_max 和 net.core.wmem_max 参数,
比如 sysctl -w net.core.rmem_max=16777216 和 sysctl -w net.core.wmem_max=16777216

echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle
echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse

cat /proc/sys/net/ipv4/ip_local_port_range
cat  /proc/sys/net/ipv4/tcp_tw_recycle
cat  /proc/sys/net/ipv4/tcp_tw_reuse

echo "32768   61000"  | sudo tee /proc/sys/net/ipv4/ip_local_port_range
echo 0 | sudo tee /proc/sys/net/ipv4/tcp_tw_recycle
echo 0 | sudo tee /proc/sys/net/ipv4/tcp_tw_reuse

sion size:235
activate_dead_sessions
user time used:8
sys  time used:28
max memory size:55412

[notice] init for next sess from bak
[notice] ack more than vir next seq

频繁出现 ack more than vir next seq 的情况
ack more than vir next seq.png

分享:

评论