I am in the early stages of designing a service using router OS, and I need to understand how the system handles QoS a bit better. Not specifically how to configure it, but how to optimize it for the least impact on the system. Basic goal is prioritize VOIP and then any other applications the customer deems a high importance. I am using a CCR1009 at the moment, connectivity is back to a CHR hub over IPIP+IPSEC. Performance wile encrypted is pretty good (with the latest RC software), around 300-350mbps. Enabling my QoS config drops me down to about 70mbps. I am using simple queues on the 1009, I have parent queue with the target set to my ipip interface, and everything set to unlimited. Under that i make child queues such as voip setting limit at and max to X value and priority to 1, as well as a few other queues setting only max limit to X value and priorities 2-8 as necessary. There is also an “other” queue that is set to priority 8 and unlimited. I am using mangle rules on the forward chain to mark packets for identification on the child queues.
So basically my question is, what do i need to know about how router OS handles QoS? Any optimizations to try and increase throughput to more than 70mbps? Is there a better way than what i described above? Any non obvious settings/tricks to squeeze out a bit more performance?