Artifact uploads limited to about 40 Mbps when storing artifacts on a mapped network drive on Windows Server

We are looking at an issue where it looks like for some reason using a mapped network drive or a network path on a Teamcity server hosted on Windows we are limited to about 50 Mbps on the artifact upload.  Downloads of the artifact move at close to the network limit of the client NIX (1Gbps).  Here are the scenarios we have tested and their correlating results.  

All scenarios use the following commands in a test config for generating the artifact to upload:
del foo.bar
fsutil file createnew foo.bar 4294967296

Note that you will need to up the max artifact size in the admin settings to accommodate the 4gb artifact.

All scenarios also had a 10Gbps connection on the file server the drives were mapped to 2Gbps connection on the Teamcity server and a 1Gbps on the agent.

Scenario 1:

TeamCity Server hosted on Windows Server 2012.  Artifacts pointing to local drive location.

Result: 

Upload time: 47s

Average throughput: 697 Mbps 

 

Scenario 2:

TeamCity Server hosted on Windows Server 2012.  Artifacts pointing to mapped network drive (net use x: [network_path] /persistent:yes)

Result: 

Upload time: 744s

Average throughput: 40 Mbps

Note: I also tried this scenario with an agent local to the teamcity server (pointing to the teamcity server at localhost) and got almost exactly the same throughput.

 

Scenario 3:

TeamCity Sever hosted on CentOS 7. Artifacts pointing to local drive location

Result: 

Upload time: 46s

Average throughput: 712 Mbps

 

Scenario 4:

TeamCity Sever hosted on CentOS 7. Artifacts pointing to mapped network location (mount -t cifs -o [credentials] "[network_path]" "[mount_location]")

Result: 

Upload time: 53s

Average throughput: 618Mbps

 

We obviously could work around this by hosting on linux but our current production server is hosted on Windows so we are currently working around by not copying large artifacts using the built in artifacting but rather using robocopy to push them to the proper location in the network share for the artifacts.  I have poked around similar posting etc to see if there are some things to configure to improve this but I can't really find anything so I would love some insight on what might be happening here and any other suggested workarounds.

 

 

0
1 comment

Hi Seth,

Sorry for the delay. I've been searching and asking but I'm afraid we haven't found before this sort of issue. The problem seems to be that Windows is not sending the data to the mapped drive faster than that. Isn't there any configuration available for mapped drives? As you can imagine, we just call the system calls for saving files into disk, trying to abstract from whether the disk is local or not (that should be handled by the OS), so we don't impose limits on its transfer rates (as you have seen with the other scenarios).

If you can rule out all other possibilities except that it's an issue with teamcity's handling of artifacts, you can try to open an issue in our tracker: https://youtrack.jetbrains.com/issues/TW

0

Please sign in to leave a comment.