5

For some unknown reason, our server box running Windows Server 2008 R2 has a per connection bandwidth limit of 0.2 MB/s. Meaning, while one TCP connection can pull at max 0.2 MB/s, 60 parallel connections can pull 12 MB/s. We first noticed this when trying to checkout large SVN repository from this server.

The problem is that I have no idea from where this limit comes from. I have very little experience administrating Windows Server, so I was mostly trying to find something by googling. I have checked the following:

  • Local Computer Policy > QoS Packet Scheduler > Limit reservable bandwidth: it's Not configured;
  • Group Policy Management Console: we have two GOPs, but neiher has any Policy-based QoS defined;
  • There isn't any bandwidth limiter program installed, as far as I can tell.

We're using standard Windows Firewall.

I used a simple Java application to test this, transferring data from server to workstation using variable number of threads (one connection per thread). Server part of the application simply writes 1 MB memory buffer to socket 100 times, so there is no disk involvement. Each connection topped at 0.2 MB/s. Same per connection limit was for only one as was for 60 parallel connections.

I can update this question with any additional information if needed.

3
  • 1
    What are the NICs set to for Speed & Duplex?
    – bmurtagh
    Nov 1, 2012 at 15:22
  • Maybe QoS on the switch/router?
    – John Siu
    Nov 10, 2012 at 1:41
  • Did you ever get anywhere with this, i am seeing the same behavior. What is strange though is that i got the data center to bootup a linux rescue CD to run some tests, i managed to transfer a file from one of my servers to another (London -> Salt Lake City) at 4-5 MB/s. From windows i get similar behavior to you, except i get around 300-380 KB/s per connection. Dec 30, 2012 at 1:44

1 Answer 1

2

In all likelihood, this isn't a configuration issue with your server, but rather a configuration on an upstream router, switch, firewall, proxy, or packet shaper that is between your workstation and the server.

If you're able to (i.e. the server isn't in production) take a small unmanaged switch and configure a laptop to be on the same subnet as the server. Plug both into the switch so that the communication between your test machine and the server only traverses your dumb switch. I'm betting you'll see much better performance, which would point to a network device being the issue and not the server itself.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .