Poor single-threaded performance over PPPoE

Hey Guys,

I’ve had this issue with two Mikrotik routers: and RB2011 and a CCR1009. Essentially, when a PPPoE Interface is created to connect to a DSL provider, a single threaded TCP connection has extremely poor performance (download speed never exceeds 10mbps on a 100mbps connection). If I run a UDP speedtest (or a TCP speedtest with more then 5 connections) from the Mikrotik to another on the Internet, I am able to confirm full speeds (95bmps+), however, a TCP speedtest with only 1 connection maxes at 10-15mbps. I am also only able to get around 10mbps for an SCP or FTP file transfer from a server on the same remote network.

As a test I also tried terminating the PPPoE connection at the DSL Modem and then using standard Ethernet between the modem and the Mikrotik and was able to confirm much more acceptable speeds on a single threaded speedtest (around 50-60mps). Unfortunately terminating PPPoE at the modem is not a viable long-term solution.

So, Does anyone have any recommendations for how to increase the TCP performance of a PPPoE connection under RouterOS?

Thanks in advance!

I have the same problem!!

UDP = 93/38mbit
TCP = 10/22mbit

Can replicate to many servers near and far.

Whats going on?!

Sounds like MTU related issues. Alternatively it could be connection tracking related.

Make sure path MTU discovery isn’t functioning normally. A quick test would be to drop MTU on the test client to something like 1280 and run your speedtest.

Remember TCP will be slower than UDP in any kind of straight up race. That said I would not expect that pronounced of a difference with modern hardware.

My RB2011 work at ~1Gbps download and 500mbps upload. This is my internet connection speed. Also pppoe and default configuration.
Tested with speedtest.net.

Indeed. Make sure you have a firewall mangle rule to clamp the TCP MSS.
Recent RouterOS versions should also be able to do that without this rule.