性能测试入门(六)windows及Linux下做压力测试的注册表设置
from: http://www.cnblogs.com/tianzhiliang/articles/2400176.html
TcpTimedWaitDelay
描述:确 定 TCP/IP 在释放已关闭的连接并再次使用其资源前必须经过的时间。关闭与释放之间的这段时间称为 TIME_WAIT 状态或者两倍最大段生存期(2MSL)状态。此时间期间,重新打开到客户机和服务器的连接的成本少于建立新连接。通过减少此条目的值,TCP/IP 可以更快地释放关闭的连接,并为新连接提供更多资源。如果运行中的应用程序要求快速释放连接或创建新连接,或者由于多个连接处于 TIME_WAIT 状态而导致吞吐量较低,请调整此参数。
如何查看或设置:
1. 使用regedit命令,访问 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters 注册表子键,然后创建新的 REG_DWORD 值TcpTimedWaitDelay。
2. 将此值设置为十进制30,即十六进制 0x0000001e。此值将等待时间设置为 30 秒。
3. 停止并重新启动系统。
缺省值:0xF0,此值将等待时间设置为 240 秒(4 分钟)。
建议值:最小值为0x1E,此值将等待时间设置为 30 秒。
MaxUserPort
描述:确定当应用程序向系统请求获取可用的用户端口时,TCP/IP 可指定的最高端口号。如果建立 TCP 连接最大端口连接大于 5000, 本地计算机响应以下错误信息WSAENOBUFS (10055): 因为系统缺乏足够缓冲区或者因为队列已满而无法执行套接字上操作, 从而导致应用程序的10048错误.
如何查看或设置:
1. 使用regedit命令,访问 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters 注册表子键,然后创建新的 REG_DWORD 值MaxUserPort。
2. 将此值至少设置为十进制32768。
3. 停止并重新启动系统。
缺省值:系统默认TCP随机端口范围为:1024-5000
建议值:至少为十进制32768。
最大连接储备
描述:如果同时接收到许多连接尝试,请增大操作系统支持的缺省暂挂连接数。
如何查看或设置:
1. 使用regedit命令并访问 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters 注册表子键。
2. 根据需要创建并设置下列值:
EnableDynamicBacklog=dword:00000001
MinimumDynamicBacklog=dword:00000020
MaximumDynamicBacklog=dword:00001000
DynamicBacklogGrowthDelta=dword:00000010
7. 这些值将最小可用连接数设置为 20,将最大可用连接数设置为 1000。每当可用连接数小于最小可用连接数时,可用连接数都会增加 10。
8. 停止并重新启动系统。
KeepAliveInterval
描述:确定 TCP 在未接收到响应时重新尝试保持活动传输的频率。
如何查看或设置:
1. 使用regedit命令,访问 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters 注册表子键,然后创建新的 REG_DWORD 值KeepAliveInterval。
2. 将此值设置为1秒。
3. 停止并重新启动系统。
缺省值:1秒
建议值:无
Reg文件:
- Windows Registry Editor Version 5.00
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\AFD\Parameters]
- "EnableDynamicBacklog"=dword:00000001
- "MinimumDynamicBacklog"=dword:00000020
- "MaximumDynamicBacklog"=dword:00001000
- "DynamicBacklogGrowthDelta"=dword:00000010
- "KeepAliveInterval"=dword:00000001
- [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters]
- "TcpTimedWaitDelay"=dword:0000001e
- "MaxUserPort"=dword:00008000
LINUX操作系统修改Linux内核参数:
修改系统socket最大连接数,在文件/etc/security/limits.conf最后加入下面两行:
* soft nofile 32768
* hard nofile 32768
或者缩小2MSL的时长、允许重用处于TIME_WAIT状态的TCP连接、快速回收处于 TIME_WAIT状态的TCP连接,修改/etc/sysctl.conf,添加如下几行:
#改系統默认的TIMEOUT时间
net.ipv4.tcp_fin_timeout=2
#启重用,允许将TIME_WAIT sockets重新用于新的TCP连接 默认为0表示关闭
net.ipv4.tcp_tw_reuse=1
#开启TCP连接中TIME_WAIT sockets的快速回收 默认为0 表示关闭
net.ipv4.tcp_tw_recycle=1