受欢迎的博客标签

网站性能-硬件-网卡速度慢的参数设置

Published

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”命令后,然后打开网页,果然打开速度正常.