What does limit performance of scp?

Solution 1:

Probably it's the encryption. You can try scp with different ciphers, for example:

scp -c arcfour src dest

Check ssh_config manual page for available Ciphers. RC4 (arcfour) is a fast cipher, but probably not as secure as some alternatives.

Solution 2:

Part of it may have to do with the internal implementation of OpenSSH. Take a look at HPN-SSH for a decent explanation for one reason for the bottlenecks, and patches to OpenSSH that can resolve it (if you're willing to patch and rebuild from source).