Re: Performance issues

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Zitat von Ferry van Aesch <tmp123@xxxxxxxxxxxxx>:

Hi,

[-- snip --]


Right now, I'm only using eth0 (the top one) and eth3 (the bottom one). Eth1 and eth2 have no cables plugged in. eth0 has a PPPoE connection to an ISP (ADSL, 2mbit/128kbit, through a Netopia router in bridge mode). On eth3 I have the rp-pppoe-server running, with a number of pppoe-sessions hanging off that. It's connected to a 10mbit hub (similar results with a 100mbit switch, 100baseTx-FD).

Now, the problem description is quite simple:
When I do a wget or ncftp or anything like that on the Linux machine, for instance I download a kernel from ftp.kernel.org, I get some 211KB/s. Nothing wrong with that for a 2mbit line. When I do a big transfer over eth3 (so an ftp from the linux machine (server) to a windows machine (client) that is one of the pppoe-clients on eth3), I can easily saturate the 10mbit hub, and I get a good few megabit when using the switch. Again, nothing wrong with that.

Now for the problem. When I use one of those Windows clients to download something from the Internet (simple NAT rule in the nat table), I get a maximum of about 50KB/s. I can get it to go up to some 90KB/s when I play around with the TCP receive window size in the Windows registry, but a) that's still way too slow and b) I don't want to mess around with Windows registries.

When I force the transfers through a squid proxy on the Linux machine, I get 211KB/s again. Two seperate TCP streams in other words.

So, it seems that something is slowing things down a *lot* during the NAT step.

I've swapped out the hub for a 100mbit switch, to no avail. I've assigned an IP to eth3 and a windows machine (to get the pppoe-server out of the equation), but to no avail either. I do some HTB stuff on the pppoe-connections, but with those disabled (so the standard pfifo_fast re-instated), there's also zero in the difference.

It doesn't look like the CPU is going mad over it either, an uptime still shows 0.00 0.00 0.00, and the machine is very responsive, so I don't think that I'm draining the resources either (not that you'd expect that with only 2mbit...)

I've gone back to a 2.4 kernel, but the results are the same.

I'm a bit stumped really. I've set up numerous routers with 2.2 kernels (ipchains NAT though), with 3Com cards as well, and I've never had any performance issues, even with full 100mbit transfers through it.

The NAT rule is nothing spectacular either:
Chain POSTROUTING (policy ACCEPT 685 packets, 66775 bytes)
pkts bytes target prot opt in out source destination 240 17774 SNAT all -- * * 10.11.2.0/24 0.0.0.0/0 to:xx.xx.xx.xx

From what you explain i would guess for PMTU issues. Any chance that some other
rule (in FORWARD chain) is blocking ICMP on this device?

Regards

Andreas



[Index of Archives]     [Linux Netfilter Development]     [Linux Kernel Networking Development]     [Netem]     [Berkeley Packet Filter]     [Linux Kernel Development]     [Advanced Routing & Traffice Control]     [Bugtraq]

  Powered by Linux