Netzwerkdurchsatz erhöhen

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo liebe Community,
    ich habe auf meinem Pi erfolgreich eine gepatchte Version von Hostapd zum Laufen bekommen. Mit einem TP-Link TL-WN822N v2 sende ich jetzt immer mit 40 MHz Bandbreite. Funktioniert auch ganz toll. Allerdings sind von 120 mbit/s (netto) nichts zu spüren. 50 mbit/s, mehr geht nicht durch. Auf dem Pi läuft weder dhcp noch dnsmasp. Die Atheros Chips sollen den dhcp und dns server direkt vom Router davor bereitstellen. Deswegen bin ich davon ausgegangen, dass ich nicht an die 50 mbit/s Grenze gebunden bin. Wie der Chip das genau macht und was der Pi dafür berechnen muss weiß ich nicht. Jedenfalls ist, obwohl dhcp und dns durch den Router bereit gestellt werden, bei 50 mbit/s Schluss. http://www.pcwelt.de/tipps/Linux-Wi…ut-8849533.html
    Gibt es eine Möglichkeit da mehr rauszuholen? Pi übertakten oder noch bessere eine passende Distribution oder gepatchten Kernel, der sich darauf konzentriert den Traffic zu managen und schneller durchzureichen? Es geht nicht darum wirklich die Nettorate zu erreichen, hier gibs dafür auch zuviele Netze in der Nähe, aber so 80 - 90 mbit/s wären schön

    Vielen Dank im voraus.

    Einmal editiert, zuletzt von s33w0lf (10. September 2014 um 11:45)


  • ..., bei 50 mbit/s Schluss. ...

    Mit welchem tool hast Du gemessen? Hast Du eine "memory-to-memory"-Messung gemacht, so dass das Schreiben auf einen Datenträger nicht miterfasst wird?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • ich habe wohl das Projekt nicht genauer beschrieben. Es geht darum an einer Kabelleitung 100 mbit/s auch an die 100 mbit/s rauszuholen. Das ist der erste Schritt im Projekt. Anschließend soll auf dem Pi ein Downloadserver realisiert werden und, sofern der Pi das mit macht, auch ein Medienserver (xmbc)
    Gemessen wird über meinen Laptop direkt mittels speedtest.net. Über meinen eingebauten Intel Centrino Advanced-N 6235 (330 mbit/s) und einen TP-Link TL-WN823N (300 mbit/s). Am Pi hängt ein TL-WN822N (300 mbit/s) im Master-Mode. Ständig fast gleiche Ergebnisse. iperf ist etwas langsamer, bei größerer Datenmenge kommt er dann aber auch an die 50 mbit/s. Bei 50 mbit/s ist definitiv Schluss.
    Bei Kabel Deutschand bekomme ich für 2 Euro im Monat Wlan dazu und ich könnte auch ne FritzBox nehmen die hier herum steht. Aber das wäre zu einfach und es kostet auch mehr. Bis auf den Stick für den Master Mode hatte ich alles zu Hause.
    edit: Hab gerade im anderen Thread gelesen, dass bei 8 MByte/s über Lan Schluss ist. Das ist ja auch ok. Aber da komme ich eben nicht hin, bisher hängt ja nur der Stick im Mastermode an dem Pi und auf der anderen Seite das Lan-Kabel. Der muss ja im Prinzip nur durchreichen. Mich interessiert halt wieso bei 50 mbit/s Schluss ist.

    Einmal editiert, zuletzt von s33w0lf (10. September 2014 um 13:03)

  • Moin,


    ...
    ... dass bei 8 MByte/s über Lan Schluss ist. Das ist ja auch ok. ...
    ...


    naja ... so gross ist der Unterschied zwischen 50 und 64 Mbit ja nun auch nicht.
    Ich denke, das ist eben das Problem, dass sich USB und LAN die zur Verfügung stehende Bandbreite teilen müssen.
    Durch Dein Vorhaben LAN <-> WLAN hast Du halt genau da den Flaschenhals. Kommt z.B. noch eine Platte dazu, die über USB angeschlossen ist, fürchte ich, dass der Durchsatz noch weiter einbricht.

    Es wäre zu überlegen, ob Du für Dein Vorhaben nicht einen RPi B+ verwenden solltest.
    Da soll es gerade bei o.g. Problematik wesentliche Verbesserungen gegeben haben. Such vielleicht mal im Forum ... ich glaube, da wurde das mal ausführlich erläutert.

    cheers,
    -ds-

  • Erst Mal vielen vielen Dank für die zahlreichen Tipps. Hier erst Mal die Ausgabe, dass der Adapter TL-WN822N wirklich versucht mit 300 mbit/s zu senden:


    Die rx-bitrate schwankt. Aber ich denke das ist normal. iwconfig auf dem Client liefert das gleiche Ergebnis. Der Atheros möchte da gerne 300 mbit/s durchdrücken.

    einfach eine Datei auf externe Platte kopieren?

    Ich habe gerade mal in Top rein geschaut, hostapd ist gar nicht immer zu sehen. Wenn ich nun aber einen Test auf Speedtest.net mache ist der Pi über das Netzwerk per ssh kaum noch anzusprechen, also er nimmt nur langsam Befehle an. Hostapd wurde mir dann ein Mal kurz mit 64 % CPU Last angezeigt, ein anderes mal mit nur 22 %, Top aktualisiert dann aber nicht so schnell, auch nicht per Space-Taste. Sieht auf der CPU schon arg aus, wer weiß wie hoch das noch geht. Kann ich irgendwie die CPU Last über mehrere Sekunden messen, am besten in ne Datei schreiben und zwar nur den Prozess hostapd?

    edit: Habe mir das bei Top noch mal angesehen und hier nach untersucht, nur die CPU auf den RAM habe ich noch nicht geschaut: http://www.pc-erfahrung.de/linux/administ…nalysieren.html
    Ich kriege zwar kein load über eins, aber 0.94 und der id geht auf 0.0 wenn ein Speedtest läuft. Könnte also echt, wie im Artikel erster Post erwähnt, die Rechenleistung sein oder?

    Ich schau morgen mal nach ob ich noch was zum Übertakten habe, dann einfach trial and error.

    Einmal editiert, zuletzt von s33w0lf (10. September 2014 um 20:14)

  • Hi,


    Ich denke dreamshader könnte recht haben, die Bandbreite ist eng.
    Schau mal auf die CPU Last beim kopieren wie verteilt sie sich?
    Wieso sollte B+ eine bessere Performance bieten??

    CPU sollte imho nicht das Problem sein ( es sei denn die crypterei beim WLAN ... die haut schon rein ).
    Der B+ hat afaik einen anderen Netzwerk-Chip und ist wohl USB-seitig da irgendwie entkoppelt.
    Ich kann da nichts genaues zu sagen - ich hab' keinen B+ und plane auch nicht, mir einen zuzulegen.
    Wie gesagt - vielleicht mal nach B+ suchen oder so ...
    meigrafd hatte da eine recht umfangreiche und schöne Aufstellung gemacht.

    cheers,
    -ds-

  • meigrafd hatte da eine recht umfangreiche und schöne Aufstellung gemacht.

    Meinst du >> diese << :huh:

    Die meisten Begründungen wurden hier ja schon genannt. Einen weiteren möchte ich dem noch hinzufügen:

    Die Netzwerkkarte ist intern über USB angebunden. USB kann nur 480mbit/s (mbit/s ist was anderes als mb/s!) in eine Richtung. Praktisch finden aber in beide Richtungen ein Datenaustausch statt: Wenn gesendet wird, wird auch empfangen. Deshalb bricht das ganze ein - egal ob PI oder PC.


    Der CPU Load ist aber freilich auch von mehr Faktoren abhängig:

    • Verschlüsselte Übertragung
    • Welche Art von Dateien

      • Viele einzelne kleine Dateien
      • Eine große Datei
    • Wohin geschrieben wird
      • Wie schnell das Ziel-Medium schreiben kann
    • Welche Prozesse ggf dadurch beeinflusst werden
    • Was nebenbei sonst noch läuft
    • Übertaktung
      • Wie bzw Was genau übertaktet wurde

  • Naja der Pi ist halt ein Bastelrechner und kein HiSpeed Wunder. Wenn dann etwas mehr sein Darf. Evtl. eine Intel Nuc.


    // Ich fürchte, das ist jetzt OT:
    da hab' ich im Moment was anderes: STM32F4 ... krasses Teil für 20 Tacken incl. Touch-Display ...

    EOT (äh ... nicht End Of Text ... End Off Topic),

    EDIT:


    Meinst du >> diese << :huh:

    jepp ... genau die meinte ich.
    Ich hab' wegen der Netztwerk-/USB-Geschichte da, wie gesagt, keinen Plan. Ich hab' halt nur irgendwie mitbekommen, dass sich da wohl was zum Positiven geändert hat.

    -ds-

  • Vielen Dank für all die Informationen. Es scheint tatsächlich nicht an der CPU zu liegen. Ich konnte sie zwar noch nicht übertakten aber habs mal kurz unverschlüsselt versucht und selbes Ergebnis.
    Sollte ich dennoch den Durchsatz erhöhen können poste ich das hier.

  • Schau nicht auf die CPU Last - sonder auf Idle wert.
    Ich würde vermuten die CPU Zeit geht in "wa"

    Tasks: 81 total, 1 running, 80 sleeping, 0 stopped, 0 zombie
    %Cpu(s): 1,2 us, 6,8 sy, 0,0 ni, 77,3 id, 12,0 wa, 0,0 hi, 2,8 si, 0,0 st

    idle 77,3 % = rest hat cpu was zu tun
    1,2+6,8+12+2,8 = 22,8 CPU Last, 12 % davon im wait

    Wie hoch ist idle bei dir beim Kopieren?

    Einmal editiert, zuletzt von evil (11. September 2014 um 08:24)

  • Code
    Tasks:  63 total,   1 running,  62 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  1,5 us,  2,7 sy,  0,0 ni, 93,1 id,  1,9 wa,  0,0 hi,  0,8 si,  0,0 st

    Ruhezustand, bzw. wenn normal drüber gesurft wird

    Code
    Tasks:  63 total,   2 running,  61 sleeping,   0 stopped,   0 zombie
    %Cpu(s): 38,5 us, 30,8 sy,  0,0 ni,  0,0 id,  0,0 wa,  0,0 hi, 30,8 si,  0,0 st

    Auslastung bei Speedtest (50mbit/s max)

    ich kann auch noch ne Festplatte ranhängen und kopieren, aber das hier ist eindeutig oder? Ich seh nur nicht woran es liegt, weil die gesamte Ausgabe hängt. Wie gesagt der Prozess Hostapd hatte zwischendurch schon eine sehr hohe CPU Auslastung generiert.

    Einmal editiert, zuletzt von s33w0lf (11. September 2014 um 10:21)

  • si: software irq (or) % CPU time spent servicing/handling software interrupts

    würde meinen cpu / system zu langsam !
    idle ist auf 0, schlechtes zeichen (System voll ausgelastet darum auch hängende Ausgabe).
    Das IO-Design der Pi ist einfach schlecht (1 USB, wüsste auch nicht was da der B+ verbessern sollte).
    Wie wars wenn du das Setting mal an einem Latop/PC x86 ausprobierst?
    Dann weißt du was der USB-Stick kann.

  • Aber dann hängts davon ab wie schnell die SD schreibt :D

    Viele SD Karten haben keine gute Schreibrate - die meisten liegen bei 3-5 MB/s
    Das betrifft aber auch USB-Sticks, viele schreiben auch nicht viel schneller.
    Nur wer beim Kauf darauf geachtet hat wird einen schnelleren Stick bzw SD-Karte haben :D

    Ich konnte hier aber auch noch nicht nachlesen um was für Dateien es sich bei den Übertragungen überhaupt handelt, insbesondere deren Größe :huh: Das ist hierbei eigentlich auch ein wichtiger Faktor, ebenso wie die Quelle (die muss auch schnell genug sein)

    Im ersten Post steht was von wegen WLAN mit 120mbit/s Netto... Dir ist aber schon klar das bei WLAN viele viele viele äussere Faktoren dazu kommen die eine Verbindung beeinträchtigen? Nicht nur der Netto Wert der theoretischen maximal Geschwindigkeit des WLAN-Routers?

    MBit/s ist was anderes als MB/s ... Wenn du 50 MBit/s kriegst entspricht das ca. 6 MByte/s

    Da bei WLAN aber weitaus mehr Faktoren eine Rolle spielen, wird das eh ein Würfelspiel da einen noch besseren Wert hinzukriegen, nicht nur weil es davon abhängig ist wie gut die Empfangsqualität ist sondern auch wieviele auf deinem Kanal sonst noch so senden, oder ob Nachbars Microwelle stört, oder ein Babyfone, oder eine Gewitter... Und auch ob die Ausrichtung deiner Antennen optimal sind usw

  • also mir ist klar wie das funktioniert und jetzt ist mir auch klar, dass ich nur 8 MByte/s von dem Lan auf USB kriege. Ich habe mich gefragt wo verliere ich noch mal fast 2 MByte/s.
    Noch Mal zur Erklärung: Der Pi soll als Access Point arbeiten und hängt dazu per Lan an etwas das sich bei Kabel Deutschland Router schimpft. 100 mbit/s sollen durch, direkt an den Pi, davon kommen da, laut Aussagen hier, etwas mehr als 60 mbit/s an. Von diesen 60 mbit/s (nur angenommen) kriege ich tatsächlich 50 mbit/s raus (gemessen) per Speedtest.net und per iperf. Ich wollte wissen wieso dem so ist.
    Ich habe bemerkt, dass die CPU bei den Speedtests an ihre Grenzen kommt. Ich werde versuchen hostap an einem Laptop laufen zu lassen und dann berichten wie es sich hier mit der Übertragungsrate verhält.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!