Puzzling SQM behavior with both fq_codel and cake

Sorry for bumping an old thread, but I'm having the same odd behavior here.

As soon as I switch to my Cable ISP, ping/icmp latency seems fine, but actual in-game latency is unexpectedly high. I suspect the same 'weirdness' with buffering is going on, perhaps on UDP packets? My 4G is fine and with expected low latency.

I eliminated all possibilities and it seems to come down to the Modem/ISP. I know the Cable infrastructure here has been bad for decades, and I suspect they have somewhat 'stabilized' it with tricks. I would perhaps have suspected they have lower than default 1500 MTU for coaxial cable, but since the game's packets are only around 50/150 in side, i very much doubt they become fragmented either way.

I'm going to try a 'continuous' UDP stream in the background as well.

Cable ISPs are not, by definition, any better than other transports for latency and buffering.

See, for example, http://www.dslreports.com/speedtest/results/bufferbloat

While DOCSIS 3.1 has "improved" buffer management, it still may be the head-end or provider's other buffers that are causing you problems.

HI @Emtee
hmm, try this on your wan interface.
ifconfig wan_interface txqueuelen 5
not sure if it will help, but try it.
also you can some to my thread and will try to help you with your cable ISP problem!
Cheers

hmm 5 seems small, the idea here is to avoid having too long queues but I'd suggest say upload_speed (bits/s) / (1500 bytes/packet * 8 bits/byte) * 0.05 s , so for say 5Mbps upload you might have 21 packets. For say 15Mbps you'd have 62 packets

yeah it's too small, but let him test, and he can increase to 100.
@Emtee
Keep in mind that most of games doesn't use ICMP to show latency, instead they ping port 80 or port 443
of the game server, and some of them use the game session port to get latency.
you can use nmap to ping specific port like this:

nmap -p 80 game_ip

you can change port to game session port; something like port 27211.

Really, try to get BQL up and running (it most likely is already) and you will not need to worry about txqueuelen very much anymore....

And by BQL I assume you mean SQM :grin:

@hisham2630 with a txqueuelen too small, large flows will fill it up and then you will get packet loss, which can include packet loss in the game. SQM assigns the packet loss to the appropriate stream such as a low priority one, whereas a short txq assigns the packet loss to "whoever sends the next packet".

1 Like

I know that I appear tobe a one-trick-pony ;), but I am talking about Byte Queue Limits (BQL see https://lwn.net/Articles/469652/ here, a dynamic control scheme for NIC transmit buffering.

1 Like

Ah, I thought it was an autocorrect issue. I'm going to go read that

1 Like

Ah sorry will do.

HI @Emtee
it's better to not fill this thread.
so i ask you kindly to go to my thread!