Pihole und Wireguard Performance?

Fabian_otto

Banned
Registriert
Juni 2013
Beiträge
754
Hi an alle,

habe o.g. Software auf einem Pi2B installiert und wundere mich über folgendes:

im LAN habe ich ohne WireGuard volle Geschwindigkeit, aber mit Wireguard "nur" noch 50%, obwohl der Pi2B sich langweilt (per htop nachgesehen während eines Speedtests).
Außerhalb vom LAN mit WireGuard gebencht, sind es nur noch 30% Leistung. Der Internetanschluss (LAN) oder die Anschlüsse (WAN) sind nicht das Problem (Gigabit in beide Richtungen).
Woran liegt das?

Viele Grüße

P.S.: Hatte vorher mal einen Pi Zero gebencht und der brauchte so 20 Mbit/s außerhalb des eigenen LANs mit Wireguard. Also sollte der Pi2B doch schon die vollen 100 Mbit/s machen, oder?
 
100 % und 50 % wovon und wobei? Von den 100 Mbit/s des Ethernetports vom Raspi? Bei Speedtests, die deinen Internetanschluß beanspruchen? Beim Kopieren von Dateien im LAN?

Mach dir ein Schema, von welchem Punkt zu welchem Punkt du unter welchen Bedingungen mißt.
 
  • Gefällt mir
Reaktionen: Fabian_otto
Ich messe in Szenario A innerhalb des eigenen Netzwerkes vom OOKLA-Server zum Client
und in Szenario B außerhalb vom OOKLA-Server durch den VPN zum Client am externen WAN-Anschluss.
Szenario A ist 50% der 100 MBit/s, die eigentlich durchkommen sollten.
Und Szenario B sind 35%, um genau zu sein.
Was ist hier das Bottleneck?
 
Fabian_otto schrieb:
Szenario A ist 50% der 100 MBit/s, die eigentlich durchkommen sollten.
Und Szenario B sind 35%, um genau zu sein.

Hrm, das ist schon etwas anderes als die volle Geschwindigkeit aus dem Eingangsbeitrag. Sprichst du bei der Messung im LAN die Geräte über ihre interne IP an oder zufällig über einen DynDNS-Namen?
 
nun, die volle geschwindigkeit habe ich im LAN ohne WG. im LAN mit WG sind es nur noch 50%. es wird auch im LAN immer über den DynDNS gemessen. aber darüber geht ja nur die namensauflösung.
 
Fabian_otto schrieb:
es wird auch im LAN immer über den DynDNS gemessen. aber darüber geht ja nur die namensauflösung.

Also richtig geraten. Wenn Quelle und Ziel im LAN sind und eine Übertragung zu einem DynDNS-Namen stattfinden soll, dann geht das den nutzlosen Umweg zum Router, ins Netz des Internetanbieters und direkt wieder zurück. Nennt man auch NAT-Loopback oder WAN-Loopback. Dabei werden Up- und Download des eigenen Internetanschlusses verwendet, was deine verringerte Übertragungsrate erklären kann. Hab vor Jahren mal ein Bildchen gemalt, um die zwei unterschiedlichen Wege zu verdeutlichen:

wanloopback.png

Das gilt natürlich nur, solange du einen DNS im LAN nicht gerade so konfiguriert hast, daß er zu DynDNS-Namen lokale IPs zurückgibt.

Sprich die Geräte mal mit ihren lokalen IPs an und wiederhole die Tests damit.
 
  • Gefällt mir
Reaktionen: Fabian_otto
aber warum habe ich dann außerhalb eine nur noch 35%ige verbindungsgeschwindigkeit zum VPN?
 
Die 35 % sind verdächtig nahe an den 40 Mbit/s Upload eines typischen 100-, 175- und 250-Mbit/-DSL-Anschlusses. Muß aber nichts heißen, nur eine Vermutung.

Was ist das Gerät außerhalb des LANs? Wieviel Up- und Download steht an der Verbindung dieses Geräts zur Verfügung?

Nur damit wir nicht aneinander vorbeireden: Du verbindest dich von außerhalb via WireGuard zu deinem Raspi2 zu Hause und führst über diese Verbindung dann einen Speedtest bei https://www.speedtest.net/de durch, richtig?
 
  • Gefällt mir
Reaktionen: Raijin und Fabian_otto
ja, genau so wird getestet. intern bringt das ca. 58 mbit/s im up- und download und extern bringt es ca. 35 mbit/s.

der externe anschluss ist gigabit.
zuhause steht ein 105/43 mbit/s vdsl.
 
Fabian_otto schrieb:
zuhause steht ein 105/43 mbit/s vdsl.

Okay, dann haben wir die Antwort. Alles, was zu dir nach draußen kommt, während du von extern via WireGuard mit deinem Zuhause verbunden bist, muß über den Upload deines Zuhauseinternetanschlusses hochgeladen werden. Dabei sind die 43 Mbit/s Upload der Flaschenhals.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Reinh4rd und Raijin
DeusoftheWired schrieb:
Wenn Quelle und Ziel im LAN sind und eine Übertragung zu einem DynDNS-Namen stattfinden soll, dann geht das den nutzlosen Umweg zum Router, ins Netz des Internetanbieters und direkt wieder zurück. Nennt man auch NAT-Loopback oder WAN-Loopback. Dabei werden Up- und Download des eigenen Internetanschlusses verwendet
Fast. NAT-Loopback ist eine Funktion des Routers und wenn der Router das unterstützt, dreht er den Traffic noch im eigenen WAN-Port um 180° und schickt die Verbindung in die eigene NAT-Pipeline so als wenn die Verbindung von außen käme, was aber nicht der Fall ist. Dabei limitiert dann nicht die Internetverbindung, sondern die WAN<>LAN Performance des Routers. Der Provider würde in diesem Fall niemals auch nur ein einziges Bit der Verbindung sehen.
 
  • Gefällt mir
Reaktionen: DeusoftheWired
Kein Mensch hat Lust nachzuvollziehen was du unter innerhalb, außerhalb, externer Anschluss und zuhause verstehst oder sagen willst.
Ne Skizze zum Aufbau mit verwendeten IPs an den Interfaces, ggf. die verwendete Config, etc, dann kann man deine Situation besser nachzuvollziehen.

Ansonsten schon einmal daran gedacht, dass der Pi 2B einfach nicht mehr schafft? Bei diesem Artikel kommt ebenfalls ein RasPi 2B zum Einsatz und da ist der maximale Durchsatz bei Wireguard ebenso bei 7,15 MByte/s was umgerechnet 57,2 MBit/s entspricht. Geheimnis gelüftet.

Warum der Traffic außerhalb des Netzes "lahm" ist, wurde ja bereits von anderen erklärt.
 
  • Gefällt mir
Reaktionen: Fabian_otto
router ist eine FB 7490. also ich merke mir: im VPN limitiert IMMER der Upload. Mit einem stärkeren Upload kann der Pi dann auch mehr per Wireguard übertragen. Aber müsste er das nicht trotz NAT-Loopback im LAN auch schon tun?
 
Du unterstellst, bzw. deine Arbeitshypothese ist: Der RasPi 2B schafft auch mit Wireguard die vollen 100 MBit/s. Voher diese Annahme?

Jain, nicht im VPN limitiert der Upload. Jedwede Verbindung wird durch die langsamste Verbindung zwischen Sender und Empfänger. Wenn du irgendwo auf der Welt bist und eine Verbindung zu deinem Raspi aufbaust kannst du zwar Daten mit bis zu 105 MBit/s senden aber die Antwortpakete, also vom Raspi zu dir können nur mit den 43 MBit/s gesendet werden.
Das ist aber nicht auf VPNs bezogen oder um es mit einem anderen Beispiel zu sagen: Wenn du dir ein 10 GBit NAS kaufst sowie eine 10 GBit/s Netzwerkkarte für den PC aber beides nur an einen 1 GBit/s fähigen Switch packst ist die Übertragung vom PC zum NAS oder auch anders herum auf 1 GBit/s limitiert.
 
  • Gefällt mir
Reaktionen: Fabian_otto
Der Pi 2 hat CPU technisch noch ordentlich Reserven, daher wunderte mich, dass er die 100 Mbit/s seiner Ethernetschnittstelle nicht ausreizt mit WireGuard.
 
Der Pi 2 besteht aber, wie jeder Computer, nicht nur aus einer CPU. Der hat RAM, der hat Speicher, der hat sonstige IO-Ports und selbst die CPU hat nicht nur eine (allgemeine) Funktion pro Thread bzw. Kern. Da gibt es das eigentliche Rechenwerk, Gleitkomma-Berechnungen, Fließkomma-Berechnungen, Register, etc.

Du schreibst du hast was mit htop dir angesehen. Was denn genau? Anhand welcher dort abgelesenen Werte interpretierst du, dass die CPU noch Reserven hat?
Wie gesagt: Ich gehe sehr stark davon aus, dass du eine Fehlannahme hast bzgl. der verfügbaren Leistungsfähigkeit und die ermittelten Werte des o.g. Artikels stützen diese Annahme.
 
unter htop ergab die kernauslastung während der benchmarks eine allgemeine auslastung von nur 15%.
einzelne kerne waren nicht mal bei 40%.
daher nahm ich an, dass hier noch deutlich luft nach oben ist.
 
Wie gesagt: Löse dich mal von deinem "nur CPU ist relevant" Gedanken. Beim Pi2 hängt der Netzwerkanschluss an einem einzelnen USB2.0 Bus an dem auch die ganzen USB-Slots und afaik auch der SD-Kartenslot hängen. Wenn da das Limit ist, dann ist da Ende. Mit vergleichbaren Werten bei dem Netzwerkdurchsatz ist auch dieser Thread als weiteres Beispiel: https://www.raspberrypi.org/forums/viewtopic.php?t=116342

Aber vielleicht verstehst du ja ein Auto-Beispiel:
CPU = dein Auto, meinetwegen ein superdupertoller Ferrari/Porsche/$beliebiger-Sportwagen
Netzwerk = Straßennetz oder Autobahn.

Ist auf der Autobahn Stau oder zu viele andere Autos unterwegs dann kannst du halt nur 100 km/h fahren obwohl dein Tacho ja bis 250 geht und das Auto das ggf. auch leisten kann.
 
  • Gefällt mir
Reaktionen: DeusoftheWired
Teste doch mal mit "ipferf3" die Verbindung:
1594367328631.png


Das ist meine Wireguard Geschwindigkeit Zuhause <-> Arbeit
 
@Avenger84 Siehe mein Link in #18, da wird nen Raspi 2 mit iperf getestet... Traffic zum Raspi mit annähernd 100 Mbit/s, Traffic vom Raspi 2 mit den Werten, die der TE erreicht oder die ich auch in #12 verlinkt habe...
 
Zurück
Oben