SQM settings - help

Hi guys,
Can someone please have a look at below settings - I can't seem to find what is wrong but the SQM results are not what I was expecting. My ISP is a fiber connection 200Mbps/20mpbs.
My network connection route is
ISP Fiber modem - > Xiaomi r3g v1 -> switch -> PC's.
I've tried changing the settings but I can't get any better results than this:
SQM OFF
NO
SQM ON: Cake -> Piece of cake

SQM ON:
Cake -> Simplest_tbf - with this setting I'm able to reach 180~190mpbs download but my upload drops to 10mbps max...The only way to get it to proper 20mbps is to increase upload around 29000kbps which is more then my ISP provides(IDK why).

Other settings are giving the similar results to piece of cake

I've also checked CPU Idle and it never drops below 55-60% - also tried changing the overhead multiple times with no effect.

below is the sqm config

config queue 'eth1'
	option verbosity '5'
	option debug_logging '1'
	option interface 'eth0.2'
	option qdisc_advanced '1'
	option squash_dscp '1'
	option squash_ingress '1'
	option ingress_ecn 'ECN'
	option egress_ecn 'NOECN'
	option qdisc_really_really_advanced '1'
	option iqdisc_opts 'nat dual-dsthost'
	option overhead '44'
	option linklayer_advanced '1'
	option tcMTU '2047'
	option tcTSIZE '128'
	option tcMPU '0'
	option eqdisc_opts 'nat dual-srchost'
	option qdisc 'cake'
	option linklayer 'ethernet'
	option download '190000'
	option upload '19000'
	option linklayer_adaptation_mechanism 'cake'
	option enabled '1'
	option script 'piece_of_cake.qos'

Any suggestions?

You are probably running out of CPU with Cake and a 880mhz CPU. 800mhz CPUs start tapping out right around 200mbps SQM.

fq_codel is a smidge less resource intensive.

Turn off all the advanced options. Try fq_codel + simplest. With the overhead from SQM you should be able to get consistent ~170/17 (+/-) with A+ bufferbloat with your CPU.

Thanks - did try that and got even worse score then before. Roughly around 110mbps/20 upload - how is it possible that CPU is the issue if it stays around 60% idle?

SQM unfortunately is a single thread process. 40-50% usage means one processor is maxed out while the other one is sitting idle. Do some searches of these forums and you’ll see some average results for routers with similar processors.

Your original speed test without SQM looks pretty solid. A bufferbloat gives a good internet experience. Personally I would run SQM on only the upload side in your instance - 20mbps you’ll probably see some bottle necks and the SQM will give benefit.

If you want every ounce of performance from your ISP delivered speed of 200/20 + SQM (If you are a gamer,etc) I’d look at more powerful router hardware like a r7800.