My DSL connection does not have a reliable max speed. I've used Tomato's QoS in the past, and it seems to work, but chokes when the DSL speed decreases lower than the max setting.
If your upload speed varies by much, you will need to be conservative and use 90% of your lowest score.
I really don't want to limit my bandwidth to 50% of the normal speed all the time just to make QoS work, but I do want to be able to get priority for SSH stuff and web stuff, and decrease priority for background high-bandwidth stuff. Is there a way to do this? Like when high priority packets are going out, temporarily slow transmission of low priority packets?