Traag internet tussen linux en Windows XP

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • grep
  • Registratie: Augustus 2001
  • Laatst online: 07-07 22:29

grep

meer begrep...

Topicstarter
Aanleiding was een trage download van reflexive.com. Ik dacht eerst dat het aan de ISP lag (Ziggo), maar toen ik rechtstreeks aan kabelmodem geconnect ging downloaden haalde ik prima snelheid.
Toen dus verder gaan troubleshooten in m'n netwerk waarbij ik nu tegen een probleem aan loop waar ik al dagen mee bezig ben en niet meer uit kom.

Mijn setup:

Internet abonnement is Ziggo Z3 (download: 15 Mbit/s, upload: 1.5 Mbit/s)
specs linux pc (http://specs.tweak.to/15613), maar in dit verband belangrijk: 2 NIC's: 1 x 3com 100MB en 1 x Intel 82573L gigabit onboard.
specs windows pc (http://specs.tweak.to/15612), RTL8168/8111gigabit onboard.

Aansluitingen:
kabelmodem -> pc met linux (router/firewall) met 3com als extern NIC, intel als intern -> Netgear GS108 switch -> windows pc's (XP SP2)

Ik heb "performance" steeds met 3 zaken gemeten:
- download snelheid op reflexive.com
- snelheidsmeter op coax.nl
- iperf

Volgende zaken geconstateerd:
1) Rechtstreeks downloaden van reflexive op de linux pc gaat snel (600-900 kB/sec, soms uitschieters over de 1MB) (dus alleen verkeer over externe NIC), op de windows pc traag (<40 kB/sec) (dus er loopt nu ook verkeer over de interne NIC op linux + NIC op win pc).

2) Coax.nl snelheids test op linux pc snel
code:
1
2
3
4
Tijdens de laatste 639.9 kilobyte was
de snelheid 122.54 Mbit/s.

Dat is 122536 Kbps. (14958 KB/Sec).


op de windows pc traag (~2000 Kbps)

3) iperf testjes tussen de linux pc en windows pc gaan prima (~900 Mbits/sec). Maakt niet uit wie server en wie client is.

4) Als ik alle betrokken NIC's op 100 Mbps/half duplex zet gaat de coax.nl test soms wel net zo snel als op de linux pc. Downloaden van reflexive gaat ook ietsje sneller maar nog steeds stukken trager dan op de linux pc (~ 300 kB/sec)

Wat geprobeerd:
- Tuning XP: firewall uitgezet (ook in services), Verschillende settings met TCPOptimizer
- Tuning Linux: voornamelijk http://www.enterprisenetw...ethub/article.php/3485486 gebruikt voor wijzigen TCP window size.
- Zag met googlen toch wel aantal problemen met Intel 82573L onder linux, dus andere 3com (100Mbps) NIC in de linux pc gestopt om te gebruiken ipv de Intel en alles weer getest, maar nu met alle NIC's op 100Mbps/full duplex.
- De netgear aangeschaft en sinds vandaag ook nieuwe cat5e kabels (gekocht, niet zelf geknepen) van de linux en de windows pc naar de switch.
- Geprobeerd met wireshark en tcpdump op de linux pc te troubleshooten, maar probleem is eigenlijk dat ik de output niet goed kan interpreteren.

Kort samengevat: Vanwege de testjes op de linux pc zelf, gaat het voor mijn gevoel goed totdat het netwerk verkeer de linux pc verlaat richting de windows pc. Vreemd daarbij is dat iperf aantoont dat de verbinding in principe prima is. Waarom de coax.nl test en downloaden via een browser dan zo traag is, en waarom het beter lijkt te gaan met half duplex instelling, is mij vooralsnog een raadsel.

Ik hoop dat ik alle "maten van snelheid" correct heb weergegeven/afgekort. Wordt beetje verwarrend omdat de verschillende programma's (browser/iperf/coax.nl) elk hun eigen output format kiezen.

Kan iemand mij in de goed richting schoppen waar ik het hier moet zoeken?

Specs | Outcast UT clan | You're going to reap what you sow.


Acties:
  • 0 Henk 'm!

  • FireWood
  • Registratie: Augustus 2003
  • Laatst online: 17:18
Hoe heb je de linux server ingesteld als router?/Hoe ziet je iptables eruit?
Als ik het zo lees acht ik de grootste kans dat er iets met het NAT gedeelte fout gaat.

Noobs don't use "F1", Pro's do, but they can't find the information they needed


Acties:
  • 0 Henk 'm!

  • grep
  • Registratie: Augustus 2001
  • Laatst online: 07-07 22:29

grep

meer begrep...

Topicstarter
Ah ja, heb ik inderdaad ook naar gekeken.

Ik gebruik eingelijk al tijden dit firewall script: http://freshmeat.net/proj...es-firewall/?topic_id=151
Maar ik heb in begin wel met alleen NAT aan getest:
code:
1
2
3
4
5
6
7
8
9
10
11
EXTERNAL=eth1
INTERNAL=eth0
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Setting up NAT (Network Address Transiation)..."
# by defualt, nothing is forward.
iptables -P FORWARD DROP
# Allow all connections OUT and only related ones IN
iptables -A FORWARD -i $EXTERNAL -o $INTERNAL -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $INTERNAL -o $EXTERNAL -j ACCEPT
# enable MASQUERADING
iptables -t nat -A POSTROUTING -o $EXTERNAL -j MASQUERADE


Dat maakte toen geen verschil, dus heb het firewall script daarna weer gebruikt.

Iptables output is nu best groot, dus maar even via linkje: http://grep.is1337.nl/iptables.txt

[ Voor 5% gewijzigd door grep op 24-01-2009 17:34 ]

Specs | Outcast UT clan | You're going to reap what you sow.


Acties:
  • 0 Henk 'm!

  • grep
  • Registratie: Augustus 2001
  • Laatst online: 07-07 22:29

grep

meer begrep...

Topicstarter
Ok, nieuwe dag, frisse blik (was door alle config wijzigingen op gegeven moment het spoor helemaal kwijt :) )

Huidige Status:
kabelmodem -> pc met linux met 3com als extern NIC op 100/full, intel als intern op 1Gb/full -> Netgear GS108 switch -> windows pc op 1Gb/full

- Windows getuned met TCPOptimizer (slider helemaal rechts en dan optimal settings)

- Linux met de settings uit http://www.enterprisenetw...ethub/article.php/3485486, dus:
net.core.wmem_max = 8388608
net.core.wmem_default = 65536
net.core.rmem_default = 65536
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_mem = 98304 131072 196608

1) iperf prima!

XP als server:
code:
1
2
3
4
5
6
7
8
#iperf -c 192.168.1.1 -w64k -t60
------------------------------------------------------------
Client connecting to 192.168.1.1, TCP port 5001
TCP window size:  128 KByte (WARNING: requested 64.0 KByte)
------------------------------------------------------------
[  3] local 192.168.1.3 port 38999 connected with 192.168.1.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-60.0 sec  6.27 GBytes   897 Mbits/sec

Linux als server:
code:
1
2
3
4
5
6
7
8
#iperf -c 192.168.1.3 -w64k -t60
------------------------------------------------------------
Client connecting to 192.168.1.3, TCP port 5001
TCP window size: 64.0 KByte
------------------------------------------------------------
[1920] local 192.168.1.1 port 1201 connected with 192.168.1.3 port 5001
[ ID] Interval       Transfer     Bandwidth
[1920]  0.0-60.0 sec  6.58 GBytes   942 Mbits/sec

prima gigabit verbinding dus.
Dan internet verkeer testen.

coax.nl snelheidstest op de linux pc:
code:
1
2
3
4
5
6
7
8
9
10
11
Er is 895.9 kilobyte gedownload in 0.48 sec.

Tijdens de laatste 639.9 kilobyte was
de snelheid 15.19 Mbit/s.

Dat is 15190 Kbps. (1854 KB/Sec).

De maximum snelheid was 15.90 Mbit/s
gedurende een blokje van 128.0 kilobyte.

Dat is 15904 Kbps. (1941 KB/Sec).


en op de windows pc:
code:
1
2
3
4
5
6
7
8
9
10
11
Er is 767.9 kilobyte gedownload in 2.30 sec.

Tijdens de laatste 639.9 kilobyte was
de snelheid 2.74 Mbit/s.

Dat is 2737 Kbps. (334 KB/Sec).

De maximum snelheid was 4.44 Mbit/s
gedurende een blokje van 128.0 kilobyte.

Dat is 4440 Kbps. (542 KB/Sec).


Ai, dat ziet er al niet fraai uit.
Een download van reflexive bevestigd dit:

op de linux pc schommeld die tussen de 300 en 600 kB/sec
op de windows pc daalt het al snel naar een "steady" 30 kB/sec :(

Vraag me nu af:
het http verkeer komt vanaf het modem op een 100Mbit/full duplex NIC binnen en moet dan door linux op een gigabit NIC gezet worden. De tcp settings zijn nu ingesteld voor optimale performance op dit interne gigabit netwerk, maar hebben pakketjes die van die 100Mbit NIC afkomen daar geen last van?

EDIT: valt me nu ook op dat de RX errors op de externe NIC vrij snel oplopen als ik op de windows pc aan het downloaden ben, maar niet als ik op de linux pc download. Op de interne nic geen errors. Wat zou dat in kunnen houden?

[ Voor 4% gewijzigd door grep op 25-01-2009 15:45 ]

Specs | Outcast UT clan | You're going to reap what you sow.


Acties:
  • 0 Henk 'm!

  • grep
  • Registratie: Augustus 2001
  • Laatst online: 07-07 22:29

grep

meer begrep...

Topicstarter
Probleem opgelost.
Externe NIC in de linux pc was dus een beetje faulty. Feit dat ik relatief goede doorvoer snelheid had met downloaden onder linux heeft me dus totaal op het verkeerde spoor gezet. Maar nu ik die NIC vervangen heb, werkt alles naar behoren.

Specs | Outcast UT clan | You're going to reap what you sow.