I do my development work on a linux virtual machine on a remote computer. I'm using a Windows 7 laptop as my main computer, as it has more screen real-estate, and using Cygwin/X to run my GUI programs from the remote computer.
I've been struggling with the performance of this though, and I've tried a number of different approaches, with varying degrees of success.
- Standard ssh X-tunneling
- ssh X-tunneling with compression (
-C) and faster cyphers (blowfish, arcfour)
- Direct X client and server (ssh into remote box, run program with
DISPLAYset to my laptop)
I've gotten all of these to work, but the performance has never been that great. The two computers are communicating over a LAN, connected by 100M ethernet. Watching the windows resource monitor, I find that the X server is never receiving more than about 100 KB/s under large screen refreshes. I've done file transfers between these computers that go at about 10 MB/s, so I don't think there's a network bottleneck.
Security is not a concern, which is why I'm trying to avoid any encryption that would add overhead.
Why is the network performance so slow, and what can I do to improve it?