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

I have two ubuntu boxes one in US and another in India and have a 12 Mbps connection. when i copy from using scp the transfer rate is 50KB/s is there a way to increase the speed. these boxes have 4GB ram and a good processor

share|improve this question
    
You have a 12Mbps private connection end to end? If so, what is the latency across it? You are going to suffer with the bandwidth delay product (Elephant network) here –  jwbensley Jan 29 '13 at 14:59
    
Is your connection via cable or satellite? Can you add a traceroute -n, may be shortened ip-addresses? –  ott-- Jul 7 '13 at 19:26

1 Answer 1

Your problem here is not with the bandwidth, but latency. The TCP overhead on such a link will cause all sorts of link speed troubles, which you're experiencing. TCP and by proxy SCP/SSH was never meant to work on this kind of link fast, as it's upmost priority is security and reliability of the transfer stream.

There are multiple solutions to the issue.

  • Switch from TCP to UDP, UFTP is specifically designed to solve this problem, I've used it extensively over satellite links, which are almost comparable to your setup in latency. It also supports key based encryption for the streams which is managed by a tool that comes with the package
    • You need to install the client daemon on all the hosts you'd like to push data to (it can use multicast, hence you can push a file to multiple endpoints at the same time as well, as long as the network supports it).
    • With the server tool, you specify what you want to put where on which remote machines
  • Switch to HPN-SSH, this has very different buffer parameters and tuning for high speed transfers, if you must stick with ssh for some reason, but most probably will not fix your problem.
share|improve this answer
    
Hi Thanks for the info can you please send me some info on how to shift from TCP to UDP for SSH. –  kumar Jan 29 '13 at 12:16
    
@kumar I've updated the answer with a basic explanation. The logic is a bit backwards, due to the multicast nature (the clients are persistent daemons, and the server is a simple process), but I think it's pretty straight forward. The manpages have examples at the bottom. –  psarossy Jan 29 '13 at 13:30

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.