Error:“Address already in use. Error code : 10048 ”,端口用完了?
在执行点击率比较高的测试时,可能会出现此错误。
原因:客户端机器端口耗尽。
切换行号显示
1 //最大端口数,最大值65534:
2 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\MaxUserPort
3 //端口释放等待时间,系统240秒,推荐30秒,可依据实际情况修改
4 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters\TcpTimedWaitDelay
说明:“TcpTimedWaitDelay ”的取值,重新连接已关闭的连接时快于重新打开新端口进行连接;
虚拟客户端模拟大量虚拟用户,端口占用多时出现此问题;
解决办法:把TcpTimedWaitDelay减小并重启系统。
已知问题(点击率超过2000时需要关注)
* 条件
WindowsServer2000、WindowsXP的TcpTimedWaitDelay键取值范围为30-300(十进制);
WindowsServer2003的TcpTimedWaitDelay键取值范围为0-300(十进制);
MaxUserPort键值的范围均为5000–65534。
* 结论
WindowsServer2000、WindowsXP最多能在30秒内开放65534个端口,WindowsServer2003理论上无限制。
即,在测试点击率较高的系统时需要考试端口问题,建议使用WindowsServer2003系统。
* 举例说明
某系统最高点击率是6000。仅使用一台WinXp进行负载测试最高点击率。
点击率超过到2000后控制台开始报错“Address already in use. Error code : 10048”。
* 官方说明
Windows Server 2000 :
http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/regentry/58811.mspx?mfr=true
Windows XP:
http://support.microsoft.com/kb/314053/zh-cn
Windows Server 2003:
http://technet2.microsoft.com/windowsserver/en/library/af2e0d81-50cc-430d-80e1-a2ccebfc68f21033.mspx?mfr=true
文章转载: http://hi.baidu.com/higkoo/item/fe484a350197f4372e20c4d4