我们有一些Windows服务器(2008 R2),我们遇到了一个奇怪的networking问题。 我可以描述的最好方式是,只有在networking延迟(20ms或更多)networking上运行时,我们才会遇到低吞吐量(但高带宽)。
症状:
1.)所讨论的服务器位于具有宽大互联网pipe道的两个一级数据中心中。
2.)如果我们将RDP放到数据中心#1的服务器上,我们可以运行SpeedTest.NETtesting并获得数百兆的上/下
3.)如果我们在服务器上下载一个CentOS ISO映像(基本上是一个大文件),我们可以得到6-20兆字节/秒的带宽
4.)如果我们连接到一个web服务器,我们在另一个数据中心(也就是dc#1中的freebsd,dc#2中的windows服务器)上运行FreeBSD 9.0服务器(也在数据中心),然后下载一个大文件(100s的MB)我们也获得了不错的performance。 (再次,许多兆字节/秒)
5.)如果我们从DC#1的服务器连接到另一个DC#1的Windows服务器,我们会得到很棒的性能(接近1GB /秒)。
6.)如果我们从DC#1中的Windows服务器盒连接到DC#2中的Windows服务器盒,我们得到约450千字节/秒(非常差的吞吐量)。 但是我们可以打开多个浏览器/窗口并根据需要多次下载(同时),并且仍然可以获得完全相同的450 kb /秒。
8.)我们运行了大量的其他testing,使我们能够最终消除防火墙等问题(另见testing4,因为FreeBSD服务器通过与Windows服务器相同的[硬件]堆栈进行通信…)
我们试图在一对Windows服务器上禁用TCP窗口缩放,结果不起作用。
因此,ServerFault社区:它似乎必须是某种Windows TCP设置 – 是什么原因造成这种问题?
编辑
1.)我们在有问题的windows server 2008R2盒子之一上安装了VMWare / CentOS,使用桥接networking, 猜测吞吐量有多大 ! 所以,在Windows主机上的VMWare映像,性能提升,走图!
尝试禁用TCP烟囱和自动调整:
netsh int tcp set global chimney=disabled netsh int tcp set global autotuninglevel=disabled