Benchmark ein Linux-Bash-Skript

8

Gibt es eine Möglichkeit, die Leistung eines Bash-Skripts zu vergleichen? Das Skript lädt eine Remote-Datei herunter und ruft dann mehrere Befehlszeilenprogramme zur Bearbeitung auf. Ich würde gerne (oder so viel wie möglich) wissen:

  • Gesamtzeit
    • Zeit für das Herunterladen
    • Zeitaufwand für jeden Befehl mit dem Namen
    • - = [Ich denke, das könnte in "Zeit" -Rufe verpackt werden, oder? ] = -
  • Durchschnittliche Downloadgeschwindigkeit
    • verwendet wget
  • Gesamtspeicherverbrauch
  • Gesamte CPU-Auslastung
    • CPU-Nutzung pro Befehl namens

Ich kann Änderungen am Bash-Skript vornehmen, um beliebige Benchmark-Befehle einzufügen, die an bestimmten Punkten (z. B. zwischen App-Aufrufen) benötigt werden. Nicht sicher, ob einige "Top" Ninja-ry das lösen könnten oder nicht. Nicht in der Lage, etwas nützliches (zumindest zu begrenztes Verständnis) in der Manakte zu finden.

Führt die Benchmarks auf OSX Terminal sowie auf Ubuntu aus (wenn es darauf ankommt).

    
mondo 06.11.2011, 22:06
quelle

2 Antworten

16
%Vor%
  1. -c dient dazu, die Zeit zu ermitteln, die die CPU für bestimmte Anrufe benötigt.
  2. -Ttt zeigt Ihnen die Zeit in Mikrosekunden zum Zeitpunkt des Systemaufrufs an.
  3. -o speichert die Ausgabe in der Datei "trace".
Farhan 06.11.2011, 22:18
quelle
3

Sie können dies auf verschiedene Arten erreichen. Eine Möglichkeit besteht darin, die integrierte Funktion time für jeden gewünschten Befehl zu verwenden und die Ergebnisse zu erfassen. Sie müssen bei Pipes und Weiterleitungen vorsichtig sein.

Sie können auch erwägen, SIGCHLD-, DEBUG-, RETURN-, ERR- und EXIT-Signale einzufangen und Timing-Informationen einzugeben, aber Sie erhalten möglicherweise keine Ergebnisse.

Dieses Konzept der CPU-Nutzung jedes Befehls gibt Ihnen nichts nützliches, alle Befehle verwenden 100% CPU. Speicherverwendung ist etwas, das Sie herausziehen können, aber Sie sollten

betrachten

Wenn Sie tiefe Prozessstatistiken erhalten möchten, dann sollten Sie strace verwenden ... Weitere Informationen finden Sie unter strace (1) man page. Ich bezweifle, dass -TTT, wie es anderswo vorgeschlagen wird, nützlich ist alles, was Sie sagen, sind System-Anruf Zeiten und Sie wollen andere Prozess-Trace-Informationen.

Sie können auch die Tools ltrace und dstat sehen.

Eine ähnliche Frage wird hier Linux-Benchmarking-Tools

beantwortet     
Ahmed Masud 06.11.2011 22:30
quelle

Tags und Links