windows server 2012R2 网络慢的那些事
前段时间公司新采购了一台ibm的服务器,装的是 windows server 2012R2, 在做完项目迁移后,发现项目访问数据库缓慢,于是逐项查找原因,最后终于找到解决办法
以Administrator权限执行命令行(开始菜单中右键点击命令行程序,右键菜单中有以管理员身份执行的选型),并在命令行中执行一下命令(关闭自动调节):
netsh interface tcp set global autotuninglevel=disabled
打开自动调节的命令是:
netsh interface tcp set global autotuninglevel=normal
后来还了解了还有以下其有关网络,可提高网速的命令
接收方缩放状态:
netsh int tcp set global rss=enabled
烟囱卸载状态 :
netsh int tcp set global chimney=automatic
NetDMA 状态:
netsh int tcp set global netdma=enabled
直接缓存访问(DCA):
netsh int tcp set global dca=enabled
接收窗口自动调谐级别:
netsh int tcp set global autotuninglevel=normal
附加拥塞控制提供程序:
netsh int tcp set global congestionprovider=none
ECN 功能:
netsh int tcp set global ecncapability=disabled
RFC 1323 时间戳:
netsh int tcp set global timestamps=enabled
二、案例
某一客户反应在Windows server 2012服务器的网站打开网页异常的慢。 排查手段
1.客户本地和机房本地执行PING命令,均正常;
2.查看客户Windows server 2012服务器的流量,正常;
3.分析审查元素,发现2012系统每次connecting时间都很长。
解决方法 在网上查找原因,发现原来Windows server 2012默认打开了ECN功能(从Windows server 2008之后都默认打开),个人操作系统却没有打开,而当网络拥塞不小的时候,就会造成这种效果。 ECN每打开一个网页,都会先向目标发送好几个TCP ECN(显式拥塞通知)数据包,然后等到2-3秒后,再与目标3次握手建立TCP连接。
执行“netsh int tcp set global ecn=disable”命令后,然后打开网页,果然打开速度正常.