I have an NFS server set up, and application servers connect to it via an SSH tunnel.
The first problem I am facing is that when large files (or many small files) is transferred between the app server and the NFS, CPU usage spikes drastically (we're talking load averages of 30-60 on an otherwise < 1.0 machine). The culprit in "top" is SSH (obviously because NFS is via an SSH tunnel).
The second problem is that if I transfer a lot of data between NFS and App Server 2, the CPU usage on App Server 1 will spike and continue to spike for a couple minutes after the transfer is complete. So it's not just affecting the "offending" server, it's affecting all servers connected to the NFS.
Are there any solutions to these problems? The NFS SSH tunnel shared storage solution seems fairly common. I know the tunnel/encryption adds overhead, but the use case & amount of traffic here is not outstanding, so I'm failing to understand why my systems are performing so extremely poorly.