Along the same lines as number 1. You can transfer a directory with
$ ssh user@host "tar cvzf - /path" | tar xvzf - /path $ ssh user@host "tar cvzf - /path" | tar xvzf - /pathAlso - another trick is to give it -c blowfish to use a lighter/faster cipher for the transfer to save on CPU time.
$ scp -r user@host:/path /path
This is especially bad if you have a directory structure that references a higher-level directory.