Wo misst der Windows Task-Manager die Netzwerkdatenrate?

856
Vinay Madapura

Ich versuche, einen 10-Gbit / s-Ethernet-Kanal zwischen einem FPGA und einem Windows 7-PC aufzubauen. Für eine grobe Schätzung habe ich die Bandbreitennutzung der Verbindung mit der Registerkarte "Netzwerk" des Windows-Task-Managers gemessen. Später habe ich den Durchsatz mit Wireshark gemessen. Ich mache eine kleine Berechnung, indem ich die Gesamtanzahl der Bytes durch die Zeit dividiere (N bytes/T)*8 bits per second.

Bei niedrigeren Leitungsraten (<= 5Gbps)stimmen beide Messungen überein. Wenn ich jedoch die Datenrate erhöht habe, z. B. über 5 GBit / s, steigt der Graph im Task-Manager entsprechend an, die von Wireshark erhaltene Datenrate hat sich jedoch auf etwa 2,5 bis 3 GBit / s reduziert.

Ich kann nur vermuten, dass dies ein Problem auf Betriebssystemebene ist. Ich verstehe, dass Leitungsrate und Datenrate insgesamt zwei verschiedene Dinge sind. Bitte korrigieren Sie mich, wenn ich falsch liege.

Meine Fragen sind:

  1. Wo misst der Task-Manager die Linienrate?
  2. Wo erfasst Wireshark die Pakete?

Ich lese diesen Beitrag und verstehe, dass Wireshark Pakete zwischen dem NIC-Treiber und höheren Schichten (meiner Vermutung, Transportschicht) erfasst, aber ich bin mir nicht sicher.

AKTUALISIEREN

Ich habe es mit Resource Monitor überprüft. Es zeigt die Anzahl der Bytes, die an eine bestimmte Anwendung übertragen werden (wenn ich mich nicht irre). Wenn ich Daten von FPGA mit einer Geschwindigkeit von 10 Gbps übertrage, zeigt der Ressourcenmonitor eine Übertragungsrate von 1,26 Gigabyte pro Sekunde (10,001 Gigabit pro Sekunde!) An. Das verwirrt mich jetzt mehr.!

Warum fehlen Wireshark diese Pakete?

Weitere Informationen und NIC-Params:

Ich verwende das UDP-Protokoll. Dies könnte ein möglicher Grund für Paketverluste bei Geschwindigkeiten> 5 Gbit / s sein. Die Pakete von FPGA sind 16060 Bytes lang (16000 Bytes Nutzlast und 60 Bytes Header).

  1. Empfangspuffer bis 60000 (max. 65535).
  2. Jumbo Frames aktiviert - 16128 (Maximalwert)
  3. Aktiviertes RSS
  4. Checksum Entladen von UDP und TCP aktiviert
  5. Anzahl der RSS-Prozessoren bis 6 (6 physische Kerne stehen im PC zur Verfügung)
  6. Unterbrechen der Koaleszierung 25us (davon nicht sicher)

Ich bin neu im Netzwerkbereich. Jede Hilfe wird sehr geschätzt.

3
Der Task-Manager verwendet manchmal verschiedene Zähler. Haben Sie den Ressourcenmonitor ausprobiert? Es hat die Netzwerkzähler und sollte in diesem Fall funktionieren. Oder Sie könnten Windows Perfmon verwenden. Möglicherweise müssen Sie jedoch auch grundlegende Berechnungen durchführen. Epoxy vor 8 Jahren 0
@ Epoxy, ja, ich habe im Ressourcenmonitor nachgesehen. Ich habe der Frage noch ein paar Details hinzugefügt. Guck dir das mal bitte an Vinay Madapura vor 8 Jahren 0
TCP-, IP-, ICMP- und UDP-Indikatoren sind standardmäßig nicht im Leistungsüberwachungsprogramm verfügbar. Versuchen Sie, den SNMP-Dienst über Programme und Funktionen zu installieren. Öffnen Sie nach der Installation eine Eingabeaufforderung mit erhöhten Rechten, und führen Sie net start snmp aus. Dadurch werden Zähler aktiviert. Sie können die verfügbaren Zähler überprüfen und ein Capture einrichten. Wireshark arbeitet mit Data Link Layer. In der Betriebssystemperspektive kann es jedoch je nach Anforderung mit höheren Schichten (Protokollen) arbeiten. Epoxy vor 8 Jahren 0

0 Antworten auf die Frage