curl 测试时设置超时时间

使用curl时,有两个超时时间:一个是连接超时时间,另一个是数据传输的最大允许时间。

连接阶段超时时间用 –connect-timeout 参数
整个过程的最大允许时间用 -m 参数

例如:

curl --connect-timeout 10 -m 20 http://jpuyy.com/

连接超时的话,出错提示形如:

curl: (28) connect() timed out!

数据传输的最大允许时间超时的话,出错提示形如:

curl: (28) Operation timed out after 2000 milliseconds with 0 bytes received

sysctl的调优

/proc/sys/net/core/somaxconn 设置

清理 cache

echo 3 > /proc/sys/vm/drop_caches
echo 655350 > /proc/sys/net/netfilter/nf_conntrack_max
echo 655350 > /proc/sys/net/nf_conntrack_max
echo 1200 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_established

客户端端口范围

sysctl -a | grep port_range
net.ipv4.ip_local_port_range = 32768	61000