I create only one SSH connection at the beginning of my script, and use this handle to send commands to the server. The overhead of using Net::SSH::Perl over openssh with public key authentication does not seem to hurt my program's performance.
Thanks!
Comment on Re^2: How to hold execution of perl script while it runs command on remote machine