I have to transfer a directory with lots of small files (250k, avg size 5mb) from one server to another. Both run on Debian Linux. Is there a protocol that is recommendable regarding the transfer of large number of files?
You can tar the files and move the tar. Or pipe tar with SSH: see http://www.cyberciti.biz/faq/howto-use-tar-command-through-network-over-ssh-session/
Tar-ing the files deletes the overhead for each single file as the tarball is actually a single file.
If you can't untar/unzip on the other side (maybe because it's a shared hosting FTP) there's not much you can do.