[pptp-server] Severe performance problems

Gianluca Insolvibile g.insolvibile at cpr.it
Wed Dec 12 03:06:22 CST 2001


Hi to everyone,

I am fresh new to the pptp-server list, so please forgive me if I am missing
some obvious points or asking an FAQ. I already tried digging into this mailing
list archives with no success.

Briefly, my problem is this: I set up pptpd on a Linux box and had a Windows 98
machine connect to it via an (unloaded) Ethernet LAN. Control-plane works fine
(MS-CHAPv2, MPPE 128 bit, and the like), but the data-plane performance (roughly
measured via iterated ftp's of a 51.2 MB file) is quite disappointing.

On the server side I tried a Pentium III 800 Mhz, a K6-II 400 Mhz and an Athlon
945 Mhz, whereas on the client side I had a Pentium 166 Mhz, a Pentium 233 Mhz
and a K6-II 400 Mhz. Network cards were 10 Mbps in some tests and 100 Mbps in
the others. In all cases, with any combination of the above, I measured a 1.5
Mbps maximum throughput (transfers from the Linux server to a single Windows
client), that seems to me embarassingly low. I haven't even tried with more
precise measurement tools (like netperf) since I believe the results would not
change that much.

Software versions I am using are as follows: 
Linux kernel 2.4.16 + openssl-0.9.6b-mppe patch
ppp-2.4.1 + MSCHAPv2-fix and openssl-0.9.6-mppe patch
pptpd 1.0.1 and 1.1.2
Windows 98 clients with various patches (DUN 1.4 upgraded)

As far as I can understand them, no strange messages are reported by either
pptp, ppp or the kernel. Negotiated PCKT_RECV_WINDOW_SIZE, as reported by
syslog, is 32. I tried changing that in ctrlpacket.c to 2, 4 and 8 (hoping at
least to see performance decrease) with no evident changes in throughput. 

I collected a packet trace with tcpdump and am going to analyze that; at a first
glance, it seems that a lot of TCP segments are being transmitted with unusually
high inter-packet times (in the order of 10 msec, IIRC). I still do not know if
this depends on the Linux side or on the Windows side.

Now, before getting mad with the TCP trace, the PPTP RFC and the kernel code,
does anyone have any ideas that may help ? Any hints would be really
appreciated.

Thanks for the patience of reading my long mail! ;-)

Best Regards,
	Gianluca Insolvibile



More information about the pptp-server mailing list