kirox317
Goto Top

Batch Ping Parameter

Guten Tag,

ich habe eine Routine in Batch geschrieben, die eine sehr Liste an IP-Adressen abarbeitet. Diese werden dann nach Verfügbarkeit der IP sortiert: ping erfolgreich, ping nicht erfolgreich.
Dazu habe ich folgende Parameter für den ping benutzt:

ping %ip% -n 2 -w 1000 -l 2000

Dies dauert aber sehr lange. Mir ist bewusst, dass ich auch sehr große Werte benutzte.

Nun meine Frage: Wie klein kann ich diese Parameter wählen, unter der Vorraussetzung, dass meine Routine keine Fehler macht? Das Ziel ist eine Geschwindigkeitsverbesserung und -optimierung.

Viele Grüße
kirox317

Content-Key: 294609

Url: https://administrator.de/contentid/294609

Printed on: April 19, 2024 at 01:04 o'clock

Member: Snowman25
Solution Snowman25 Jan 29, 2016, updated at Jan 31, 2016 at 14:06:46 (UTC)
Goto Top
Hallo @kirox317,

wenn das alles Hosts aus deinem eigenen Netzwerk sind und nicht über das Internet geroutet wird, würde ich den Timeout (-w 1000) auf maximal 100ms setzen.
Wenn du Internet-Hosts abfragen möchtest, würde ich den Timeout auf 2000ms setzen und die Standard-Anzahl an Paketen (-n 4) senden.

Gibt es einen grund für den großen Puffer?

Gruß,
@Snowman25
Member: kirox317
kirox317 Jan 29, 2016 at 14:35:55 (UTC)
Goto Top
Hallo Snowman25,

es handelt sich um Internet-Hosts. Ich habe bei meinem Code teilweise auf bestehenden Code zuückgegriffen, ohne die einzelnen Parameter zu hinterfragen (Schande über mein Haupt).

Die Größe des Puffers war im Beispiel so groß angegeben. Mir ist nicht klar, was der Puffer bewirkt.

Viele Grüße,
kirox317
Member: SaschaRD
SaschaRD Jan 29, 2016 updated at 14:39:33 (UTC)
Goto Top
Hallo,

es handelt sich um Internet-Hosts. Ich habe bei meinem Code teilweise auf bestehenden Code zuückgegriffen, ohne die einzelnen Parameter zu hinterfragen (Schande über mein Haupt).

in der Console einfach ping -? eingeben, um eine Auflistung der Parameter inkl. Beschreibung zu erhalten.

Gruß, Sascha
Member: kirox317
kirox317 Jan 29, 2016 at 14:45:24 (UTC)
Goto Top
Hallo SaschaRD,

mir ist bewusst, wie ich die Hilfe aufrufe (ich bin kein totaler Noob). Es geht viel mehr dadrum, wie ich diese Parameter einsetzte (Wert -> Ergebnis).

Gruß,
kirox317
Member: SaschaRD
SaschaRD Jan 29, 2016 at 14:59:02 (UTC)
Goto Top
Hallo,

anscheint wurde die Hilfe nicht aufgerufen, denn dort stehen die Parameter inkl. einer Beschreibung.
Beispiel an Hand deines obengenanntem Code
-n Anzahl "Wie oft die Echoanforderung gesendet wird"
-l Größe "Ist die Größenangabe für die Pakete die geschickt werden"
-w Zeitlimit "Ist das Zeitlimit wie lange zwischen jedem Timeout gewartet werden soll"

Gruß, Sascha
Member: kirox317
kirox317 Jan 29, 2016 at 23:54:07 (UTC)
Goto Top
Hallo,

ich weiß, was die Befehle bedeuten. Ich formuliere es gerne erneut: Ich möchte gerne wissen, wie ich die Parameter wählen muss, damit keine Fehler entstehen und die Routine schneller läuft.

Der Ansatz von Snowman25 geht in die richtige Richtung.

Grüße
Member: Snowman25
Solution Snowman25 Jan 31, 2016 updated at 14:06:39 (UTC)
Goto Top
Im Endeffekt musst du deine Pings parallelisieren, um die Geschwindigkeit zu verbessern.
In PowerShell hat der Microsoft-Blog "Hey, Scripting-Guy!" dazu eine Anleitung: Use PowerShell Workflow to Ping Computers in Parallel.

Gruß,
@Snowman25
Member: kirox317
kirox317 Jan 31, 2016 at 14:06:36 (UTC)
Goto Top
Herzlichen Dank Snowman25!