你好,游客 登录 注册 搜索
全文内容
背景:

windows2003 server socket连接数量所导致问题及其修改方式

[日期:2013-05-28] 来源:  作者: [字体: ]


今天下午刚从客户坐车回来,晚上洗完澡,闷热的天气让人睡不着觉,就和大家分享一下windows2003 server socket端口的默认5000的数量修改方式。

    导致问题:从项目上线之后,客户说一个月就会宕机一次,系统用户无法正常登陆,后台报异常,无法连接,而整个集团的并发数并没有到一个很大的数量级,每次宕机,单纯的重启web服务器以及数据库服务无法到达解决问题的办法,必须要重启电脑,因此思路就转向了承载web服务器本身的服务器2003,每次都是按照socket来进行数据的读取,而每Socket.close()是不马上释放连接的,而是设置为time_wait状态,这个时间默认是240S,这个就是有点太长,可以设定为最小值,30s,而设定最小值之前必须要进行下面解决方式的第一步,而后进行第二步30s的设置,下面解决socket的问题,下面把解决方式贴出来。

    解决方式:

    第一步:启动注册表编辑器HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

    第二步:新建

    值名称:MaxUserPort

    值类型: DWORD

    值数据: 65534(用十进制的方法写进去就可以)

    有效范围: 5000 - 65534 (十进制)

    默认: 0x1388 5000 (十进制)

    第三步:新建

    值名称:TCPTimedWaitDelay

    值类型: DWORD

    值数据: 0000001e(也就是30,这个表示TIME_WAIT的秒数)

    重启电脑,问题解决

 

收藏 推荐 打印 | 录入:wanney | 阅读:
相关内容
     
本文评论
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
热门评论