I regularly use two computers, a fileserver/mediabox and a laptop. The fileserver is gentoo and the laptop is arch, both with custom kernels and only base networking support. Often, I download some music or videos onto one computer, and then want to send it to the other. I have been running an ftp server on the desktop for this purpose. Ftp seems to be quite a lot faster than scp for large file transfers - I get something like 6 MB/s as opposed to 800 KB/s. Often, when I initiate such a transfer, Im also logged into the desktop from the laptop via ssh. During a transfer, the ssh session will become so sluggish that it might as well be frozen. My question is, is there a way to fix this?
at 6 Megabytes/s, my 100 Megabit connection shouldn't be saturated. Cpu load on both computers is fine, and they otherwise both seem totally responsive. Is this some sort of packet schedualing issue? Do I need a packet scheduler? Neither system uses one (besides the default fifo) I noticed that the arch default kernel had all this stuff built as modules. Anyone have any ideas? Thanks.
1) You could have a shitty, cheap switch that doesnt have the capacity you think it does.
2) SCP uses encryption, which takes longer/has greater overhead. If you are working on a local LAN that you are relatively sure is 'more or less' safe, then you can try other ciphers. I have had excellent speed/performance from rc4, a stream cipher (the openssh implementation appears to be safe, as I believe they throw away the first many bits of the cipher output...a known problem with rc4/security).
3) Check your sshd_config (server) and ssh_config (client) files to see if you have compression turned on by default. Compression makes it slower, but it is compressed..not much use for already compressed files like zips and bz's, and not really needed for local lan transfers.
"Be conservative in what you send; be liberal in what you accept." -- Postel's Law
"tacos" -- Cactus' Law
"t̥͍͎̪̪͗a̴̻̩͈͚ͨc̠o̩̙͈ͫͅs͙͎̙͊ ͔͇̫̜t͎̳̀a̜̞̗ͩc̗͍͚o̲̯̿s̖̣̤̙͌ ̖̜̈ț̰̫͓ạ̪͖̳c̲͎͕̰̯̃̈o͉ͅs̪ͪ ̜̻̖̜͕" -- -̖͚̫̙̓-̺̠͇ͤ̃ ̜̪̜ͯZ͔̗̭̞ͪA̝͈̙͖̩L͉̠̺͓G̙̞̦͖O̳̗͍