For some reason, my SSTP connection was slow unless I either TORCHED the connection or enabled a QUEUE TREE on the interface (even though nothing goes through the queue tree, apparently). Without that in place, my RDP screen updates were quite a bit slower, and file transfers (~20 MB) via RDP were painfully slow. This was with up-to-date router OS as of March 2021 (v6.47.9).
The solution that helped me and I hope may be helpful to others is to script creation of a QUEUE TREE for each PPP VPN connection at the time it is established. You also have to kill it when disconnecting, so that it can be re-established next connection. Support indicated this may be a helpful technique because, “forces the traffic to be handled by a single core.” I don’t know if that is the case or not. To me – without the queue tree or torch – I felt like packets were getting delayed or lost, or that throughput was choked-down for no reason. With the queue tree or torch, packets clearly flow and are delivered efficiently. This worked for my SSTP connection, but I think I read that others had noticed torching other types of VPNs improved performance. So, I recommend giving this a try for L2TP, etc…
In PPP → PROFILE → SCRIPTS → ON UP, I have:
local interfaceName
set interfaceName [/interface get $interface name]
/queue tree add name=“$interfaceName” parent=“$interfaceName” priority=1 queue=default
In PPP → PROFILE → SCRIPTS → ON DOWN, I have:
:local ppp (“<sstp-$user>”);
[/queue tree remove $ppp];
I realize that the UP and DOWN methods are a little inconsistent, but I wasn’t going to fix “what ain’t broke”.