In our home network, with continuous network IO happening latencies get ridiculous. It's fine with light loads but quickly becomes unusable if I'm, say, rsyncing a large number of small files, –other transfers essentially stop. Pings get through just barely.
Simple topology — a broadband modem / WIFI router in a single box, with some wireless and some wired clients.
I've tried setting ifconfig wlan0/eth0 txqueuelen 1
on all clients, this seems to help a bit but not by much.
Tips welcome: how should I go about diagnosing and eliminating latency problems? Are there more configuration settings I can set on clients, or maybe a better WIFI routers could help?
Best Answer
What you need is Quality of Service and a tweakable Queuing Algorithm. I'd recommend a setup something like this if you are happy to play with the internals of Linux / FreeBSD and have some spare cash:
Where the Firewall is a Linux or FreeBSD or similar machine with 2 network cards which can impose some advanced queuing and Quality of Service rules on the traffic.
I had to do something similar to stop DNS lookups timing out when doing heavy data transfers over a slower internet connection.
The other option is to get a better router - one that you can install dd-wrt or open-wrt on as I believe these two firmwares provide more in the way of QoS etc than bog-standard home routers.