Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We have setup a new server with very fast uplink connection 1Gbps but for some reason the download speeds for part of the clients remain very slow.

In the country where the server resides network speeds between the clients and server are very fast as expected. But when client is in another country the download speeds drop dramatically and we can measure only something between 1MB/s - 2MB/s. This is not a client bandwidth problem - there is plenty available.

How would I go debugging this problem? Reading from the Internet I suspect this could be a packet loss problem somewhere in the path from client to server. Can traceroute pinpoint the problematic node?

share|improve this question
add comment

3 Answers

Try another server in the same region. It sounds like it's probably the destination server. You can't expect everyone to have 1Gbps links.

share|improve this answer
    
As I said it is not a client bandwidth problem. I have tried with several clients with high connection speeds but yet they cannot achieve more than 1-2MB/s when downloading from the server. –  iluwatar Feb 20 '12 at 7:14
    
And as I said, it sounds like its the servers you're connecting to in other countries. You have to consider the routes you're going through and other things. You didn't tell us what type of network these connections are going out over, etc. –  Publiccert Feb 20 '12 at 13:35
add comment

It would be helpful to have exact numbers for what speeds you are seeing, how many hops are in the path, and the round-trip-time (as measured with ping).

In general, the maximum speed of any data path is going to be the slowest component of that path. For international paths, it may not matter what the speeds are at the end-points: its the links in the middle that may slow you down.

traceroute can be helpful. Run it when there is no activity, then repeat during a transfer. Look for a point where the latency jumps much higher during a transfer as compared to when there is no activity. If such a point exists, that is near where the bottleneck is occurring.

If the latency is jumping up near an endpoint, then the problem is likely with that endpoint's network connection. If its in the middle, then the problem is likely congestion/contention on the Wide Area Network.

If you don't see a jump anywhere, then it is likely congestion spread across the entire path.

Also remember that TCP, especially older implementations, does not like high-latency, long paths, or any packet loss. If the total latency is over a few tens of milliseconds, you are unlikely to achieve anywhere near gigabit speeds.

share|improve this answer
add comment

A very possible problem is you are running out of receive window. If you search for the terms BDP (Bandwidth Delay Product) or LFN (Long Fat Network) you can find a detailed explanation. In short, the delay exceeds the receive window capability to keep packets flowing.

Two good sources for calculating and setting the values are: http://www.psc.edu/networking/projects/tcptune/ & http://www.speedguide.net/bdp.php

Simply pinging the far end will give you an idea if there is a significant difference in the delay in country vs out country

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.