Aktuelle Software im Kurztest

Aus LinuxUser 09/2020

Aktuelle Software im Kurztest

Angetestet

Performance messen mit Sysbench 1.0.20, Aufgaben steuern mit Tusk 0.6.0, Dateien durchsuchen mit Vgrep 2.3.3, Dateien optimal komprimieren mit Zstd 1.4.5.

Leistungsprüfer

Mit Sysbench 1.0.20 ermitteln Sie die Leistungsdaten eines Systems.

Das in der Skriptsprache Lua geschriebene Benchmark-Programm Sysbench greift für den Einsatz auf den Compiler LuaJIT zurück. Das macht es leicht, eigene Erweiterungen zu entwickeln. Die Software bringt aber bereits zahlreiche Benchmark-Module mit, etwa für CPU, RAM, Dateizugriffe und Datenbanken. Sysbench fehlt in den Repos der gängigen Distributionen, Sie müssen es selbst kompilieren. Statt einer Manpage enthält das Quellarchiv ein Handbuch im HTML-Format.

Sie starten einen Benchmark, indem Sie beim Aufruf das gewünschte Testmodul gefolgt vom Befehl run angeben. Für einen RAM-Test verwenden Sie das Modul memory, für einen CPU-Benchmark cpu. Den Durchsatz bei Dateizugriffen ermittelt fileio. Das Thread- und Mutex-Verhalten überprüfen Sie mit den Modulen threads und mutex. Sysbench startet das Modul für zehn Sekunden mit nur einem Thread. Mit --threads und --time passen Sie die Zahl der Threads sowie die Laufzeit an; daneben offerieren manche Module Benchmark-spezifische Parameter.

Für regelmäßige Tests hinterlegen Sie die Benchmark-Parameter in einer Konfigurationsdatei, die Sie beim Programmstart hinter -c angeben. Sysbench zeigt die Ergebnisse in der Konsole, bei Bedarf lenken Sie sie in eine Datei um. Die für Anwender übersichtliche Ausgabe eignet sich jedoch nur bedingt für das automatisierte Nachbearbeiten.

Sysbench 1.0.20

 

Lizenz: GPLv2

Quelle: https://github.com/akopytov/sysbench

Aufgabenverwalter

Das Go-Programm Tusk 0.6.0 hilft beim Steuern von Aufgaben in der Shell.

Wenn für das Automatisieren wiederkehrender Aufgaben ein Alias nicht genügt und Ihre Skripting-Kenntnisse nicht ausreichen, hilft Tusk weiter. Es führt vordefinierte Aufgaben aus, sogenannte Tasks, und reagiert bei Bedarf auf Bedingungen. Sie definieren die Aufgaben in einer YAML-Konfigurationsdatei. Auf der Github-Seite des Tools erhalten Sie Binärpakete für alle gängigen Distributionen sowie für MacOS und Windows. Dort finden Sie auch eine als Vorlage für eigene Modifikationen geeignete Konfiguration sowie einen Link zur ausführlichen Dokumentation. Um deren Lektüre kommen Sie nicht herum, wollen Sie das volle Potenzial von Tusk ausschöpfen.

Tusk sucht die Konfigurationsdatei stets im aktuellen Verzeichnis, was es ermöglicht, verzeichnisspezifische Konfigurationen zu nutzen. Das macht das Tool auch für den Einsatz in eigenen Skripten interessant, da Sie so deren Verhalten je nach Verzeichnis beeinflussen, ohne dazu den Code zu ändern. Eine Konfiguration nimmt bei Bedarf mehrere Aufgaben auf. Das Schlüsselwort tasks: leitet die Definition eines Tasks ein. Darauf folgt ein eindeutiger Name, über den Sie den Task beim Aufruf auswählen.

Mithilfe weiterer Optionen wie usage: oder description:, präzisieren Sie die Aufgabe. Hinter run: geben Sie schließlich das eigentliche Kommando an, mit when: definieren Sie diverse Abhängigkeiten. Sie können dem auszuführenden Programm außerdem beim Aufruf via Tusk eine Variable übergeben. Mit default: setzen Sie dafür einen Standardwert, der greift, wenn Sie nichts übergeben.

Tusk 0.6.0

 

Lizenz: MIT

Quelle: https://github.com/rliebz/tusk

Spurensucher

Mit Vgrep 2.3.3 durchsuchen Sie Dateien komfortabel nach Textmustern.

Beim Durchsuchen mehrerer Dateien oder ganzer Verzeichnisse nach Textmustern gerät das Ergebnis mit Grep schnell unübersichtlich. Hier setzt Vgrep an, ein Pager für Grep und verwandte Werkzeuge wie Git-grep oder Ripgrep. Da das Go-Programm in den Repos vieler Distributionen fehlt, kompilieren Sie es bei Bedarf aus den Quellen. Als Abhängigkeit benötigt es das Binärpaket golangci-lint, das Sie ebenfalls auf Github finden. Als Dokumentation stehen nur die Github-Seite sowie eine README-Datei im Quellarchiv bereit.

Um in einem Verzeichnis nach einem Begriff oder Textmuster zu suchen, wechseln Sie dorthin und übergeben Vgrep das Suchmuster als Aufrufparameter. Die Software durchsucht alle Dateien im Verzeichnis und dessen Unterverzeichnissen auf das Muster, erstellt einen Trefferindex und gibt diesen via Less als Liste aus. Das ermöglicht es, in der Ausgabe zu navigieren. Mit --no-less erhalten Sie das Ergebnis direkt. Neben der Indexnummer enthält jede Zeile den vollständigen Dateipfad, die Zeilennummer des Treffers sowie den Zeileninhalt. Das Ergebnis legt das Programm in der Datei .cache/vgrep-go ab.

Mit --interactive stellt Vgrep eine Art Shell mit reduziertem Befehlssatz bereit, ? liefert eine Übersicht aller Kommandos. Mit print gibt Vgrep die Ergebnisse noch einmal vollständig aus. Durch Angabe der Indexnummern sehen Sie einzelne oder mehrere Trefferzeilen ein. Der Befehl show in Kombination mit einem oder mehreren Indizes ermöglicht, sich den Inhalt eines Treffers näher zu begutachten. Wollen Sie die Zeilen um den jeweiligen Treffer sehen, nutzen Sie den Befehl context. Mit quit verlassen Sie die interaktive Ansicht.

Vgrep 2.3.3

 

Lizenz: GPLv3

Quelle: https://github.com/vrothberg/vgrep

Verpackungskünstler

Das Archivierungswerkzeug Zstd 1.4.5 bietet viele Anpassungsmöglichkeiten.

Das Ziel des Packprogramms Zstandard, kurz Zstd, liegt im schnellen Erzeugen sehr kompakter Archive. Dabei kennt Zstd Stufen von 0 bis 22, wovon die letzten drei als Ultra-Kompression gelten, die Sie über --ultra aktivieren. Bei deren Einsatz steigt der Speicherbedarf sowohl beim Packen als auch beim Entpacken massiv an. Über die zahlreichen Stufen lässt sich das Verhältnis zwischen Dauer und Grad der Kompression flexibel an die Umstände anpassen. Das Tool entfernt die Quelldatei nach dem Packen nicht; das erledigen Sie explizit mit dem Parameter --rm.

Zstd arbeitet standardmäßig mit nur einem Thread. Beim Komprimieren vieler Dateien verteilen Sie mit -T die Last auf mehrere Kerne. Der Wert hinter -T gibt an, wie viele Threads die Software startet; mit -T0 überlassen Sie dem Programm das Optimieren. Zstd ermöglicht, beim Packen vieler kleiner Dateien das Resultat mittels Dictionary-Kompression zu verbessern. Dazu rufen Sie das Tool mit --train auf einem ähnlichen Datensatz auf. Es ermittelt dann die optimale Strategie und legt sie als Datei ab. Mit -D greifen Sie auf diese Daten zurück.

Ansonsten orientiert sich die Zstd-Syntax am klassischen Gzip, was den Austausch der Tools in Skripten erleichtert. Altere Versionen des von Facebook entwickelten Tools finden sich in den Repositories vieler Distributionen. Das aktuelle Release korrigiert Probleme beim Komprimieren sehr großer Dateien im Ultra-Modus und steigert nochmals die Geschwindigkeit. (agr/jlu)

Zstd 1.4.5

 

Lizenz: BSD

Quelle: https://github.com/facebook/zstd/

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 09/2020 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben