I use tools like Tunnelier to log into my home Tomato router through SSH, and then use it as a proxy for web browsing, tunnel for Remote Desktop/VNC, etc.
Most days it works great, but some days every page I try to view gets stuck, like the tunnel is clogged. I load a web page and it seems to be loading, then stops, with the little loading icon spinning and nothing happening.
I refresh the page, I reboot the router, I reboot the other computers on my home network and turn off any bandwidth-hogging services on them, I've turned on QoS on the router to prioritize SSH. I don't understand what's getting stuck. Rebooting or disconnecting/reconnecting the SSH tunnel improves responsiveness for a minute, but then it gets clogged again. It also seems to help if I don't do anything on the tunnel for a few minutes, then it will be responsive for a bit and then get clogged again.
Trying to open a terminal console from Tunnelier is also unresponsive, so it's not just a web browsing problem. Likewise, connecting to
http://192.168.1.1 in the browser (to the router's web config through its own tunnel) is also slow/laggy/halting.
If I open a second connection through PuTTY and run
od -t x1 /dev/urandom, it will sit there dumping numbers with no freezes, while the other terminal and web browsing through Tunnelier is frozen and unresponsive.
The realtime bandwidth reported by the router is nowhere near my DSL PPPoE connection's limits, though it does show big spikes during the laggy times, and the connection is responsive when it shows low bandwidths.
How do I troubleshoot something like this?