High (game) latency when AltQ enabled and traffic >40Mbit
-
Hi,
we have 200mbit line. 2 pfsense nodes in active/passive with carp. If usage is below 40Mbit/s with AltQ enabled with default ruleset for games the latency is OK and queues are filled as expected. If the usage of the line goes above 60Mbit latency/pings start to fluctuate and soon games become unplayable (>150ms lag). If i artificially load the link even more to let's say around 100Mbit the latency goes out the roof. If i disable AltQ, at that moment, my ping comes down back to 7ms! As long as we don't come near 200Mbit there is no latency when AltQ is disabled. Also trough-put of whole line drops substantially when AltQ is enabled. Can any1 help me with removing this lag when using traffic shaper? I wouldn't ming sacrifice some BW to have better latency for games. -
If this is 1.2+ you cannot do a thing from the gui, sorry.
-
Is this the case for both of my problems?
I'm aware i cannot fix "bandwidth loss" when using AltQ in 1.2, but what about the latencies?What version should satisfy my needs? Maybe i can test it?
-
2.0 and you have to tweak you tbr and queue length to have better response.
-
OK, so bad latency is only doe to queue length? What if i manually increase queue length on 1.2?
I'll start testing 2.0 soon.
-
Its not only about queue length.
Read this extracted from http://www.sonycsl.co.jp/~kjc/software/altq-new-design.txt
It is very low level detail but still prevails with the tbr option you can configure on 2.02.5 tokenbucket regulator The purpose of the token bucket regulator is to limit the amount of packets that a driver can dequeue. A token bucket has "rate" and "size". Tokens accumulate in a bucket at the average "rate", up to the bucket "size". A driver can dequeue a packet as long as there are positive tokens, and after a packet is dequeued, the size of the packet is subtracted from the tokens. (note that this implementation allows the token to be negative as a deficit, and differs from a typical token bucket that compares the packet size with the remaining tokens beforehand.) It is important to understand the roles of "rate" and "size". The bucket size controls the amount of burst that can dequeued at a time, and controls a greedy device trying dequeue packets as much as possible. This is the primary purpose of the token bucket regulator in ALTQ. Thus, the rate should be set to the wire speed. (even if the rate is set to a larger value, it does not matter much since our focus is excessive bursts.) On the other hand, if the rate is set to a smaller value than the wire speed, the token bucket regulator becomes a shaper that limits the long-term output rate. Another important point is that, when the rate is set to more than the actual transfer speed, tx complete interrupts can trigger the next dequeue. However, if the rate is smaller, the rate limit would be still in effect at the tx complete interrupt, and the rate limiting falls back to the kernel timer to trigger the next dequeue. In order to achieve the target rate under timer-driven rate limiting, the bucket size should be increased to fill the timer interval.
From pf manual page
tbrsize <size>Adjusts the size, in bytes, of the token bucket regulator. If not specified, heuristics based on the interface bandwidth are used to determine the size.</size>
-
Thank you for info.