Calculating VDSL2 goodput for SQM

Hey all,

I have a VDSL2 connection, and in my never-ending quest of tweaking OpenWrt, I now find myself wondering how I should go about tweaking SQM further to maximise throughput on my line.

I know there's already been a lot of discussion about SQM, particularly for xDSL connections, plus I have read through OpenWrt's couple pages of documentation on tweaking the advanced settings to fit. I've even read through the tc-cake Linux manual page to get a better understanding of the underlying parameters you can use with cake.

Even after all that, I'm still not completely sure how far I can really push things. I've heard differing ways of calculating max goodput on a VDSL2 line, but I've yet to find a well-documented, concrete guide for it that's easy to find. I count one person stating goodput being something like 97.8% of your sync rate, and another person stated a formula such as (current sync rate) * 64 / 65, although they then went on to say that said formula does not take into account things like G.INP.

VDSL2 here in Australia makes use of the annex B (European) bandplan, using profile 17a. Vectoring (G.vector) as well as G.INP are in place, although interleaving is not used for VDSL2 here. With the mention of G.INP affecting goodput now I'm wondering if vectoring would also play a role.

I have tried disabling cake on ingress and doing various speed tests, and adjusting the ingress shaper over and over. However my line does not suffer from any bufferbloat, only the occasional fair queuing issues (like from Steam downloads), so it's more difficult to gauge where the limit lies. Currently I have the shaper capped to 95/20 Mbps. Since my modem is bridged to my router and I don't need to use PPPoE or VLAN tagging over the WAN interface, I'm aware my overhead is lower, so I'm using bridged-ptm to account for what little overhead I have due to PTM.

Basically my question is: how would one accurately calculate goodput on a VDSL2 connection, taking into account some of the variables I've mentioned?