Re: PPTPD upload speed bottleneck

Greg Scott <[email protected]> Sun, 17 Nov 2013 01:22:48 +0000
Newsgroups gmane.network.poptop
Message-ID <[email protected]>
MTU issues maybe?  The PPTP tunnel will gobble a few bytes for tunnel overhead so you don't get the full MTU of the physical interfaces.  If both endpoints "think" the MTU size is 1500 for the raw physical interfaces and they're sending large packets, maybe the tunnel is fragmenting the packets and putting them back together on the receiving end.  Just a guess.

- Greg

-----Original Message-----
From: Gustavo Homem [mailto:[email protected]] 
Sent: Saturday, November 16, 2013 4:32 PM
To: [email protected]
Subject: [Poptop-server] PPTPD upload speed bottleneck

Hi,

We are using PPTPD with a high performance connection and the upload speed appears to be artificially limited. This was not an issue in the past with ADSL connections but now that fiber is becoming available it became noticeable.

The network connection between PPTP client and PPTPD is as follows:

upstream  10Mbps
downstream 100Mbps
latency ~ 7-15ms
packet loss 0%

Command line scp transfer performance between end points WITHOUT using the VPN is:

up  ~ 700KB/s
down ~ 1100MB/s

Command line scp transfer performance using the VPN is:

up ~ 160 KB/s
down ~ 1000 KB/s

The values are in KBytes and were measured by the scp command. 

So clearly, there is a problem with the upstream transfers (client -> server) through the VPN.

We've debugged this enough to know that CPU is not an issue (neither or the router, nor on the server), that there is no packet loss and that there is no other bottleneck. We tested this with traffic shapping turned off. We have read on the docs that the speed option does not affect pppd on Linux. We tried --nobuffer on the client, which made no difference. We also made transfers using time+netcat just to be sure scp wasn't screwing things - no difference either.

Interestingly, when an upstream transfer is done, using scp trough the VPN, and the rate stabilizes at 160 KB/s the pings between the client and the VPN server interface behave as if a packet queue was saturated, with rtt fluctuations between 14ms and 700ms, but at the exact same time we can ping the public server interface - through which the VPNn traffic flows as well - and the pings retain their normal values of between 7 and 15ms. When pinging the VPN server interface with an interval of 0.1 (ping -i 0.1) we can see the latency varying like a cosine between normal and large values, which suggests a queue is filled and then emptied in a loop. There is absolutely no packet loss that would justify this behaviour.

In short, in the router where the pptp client runs interface ppp0 appears to get saturated, but interface eth1 where the ppp0 traffic is tunneled through doesn't show any problem.

So, either the PPPD client or PPTPD is limiting the traffic rate to something way below the connection rate and, therefore, queuing happens. Which one would it be and why?

On the server side we are using pptpd-1.4.0-1.rhel5 and on the client pptp-1.7.2-8.1.el5.rf.

Cheers
Gustavo

Cheers
Gustavo

--
Angulo Sólido - Tecnologias de Informação http://angulosolido.pt

------------------------------------------------------------------------------
DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access Free app hosting. Or install the open source package on any LAMP server.
Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk
_______________________________________________
Poptop-server mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/poptop-server
------------------------------------------------------------------------------
DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps
OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access
Free app hosting. Or install the open source package on any LAMP server.
Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native!
http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk
_______________________________________________
Poptop-server mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/poptop-server