Hinweise zur Performance

Zur Verbesserung der Performance in verschiedenen Bereichen bei der Verwendung von ecu.test sind nachfolgend einige Hinweise aufgelistet. Da diese auch nachteilige Nebeneffekte haben können, sollten sie nur dann angewendet werden, wenn im konkreten Ausführungskontext eine Verbesserung zu erwarten ist.

ecu.test Runner

Speziell für den Anwendungsfall, dass nur ein einzelner Testfall (Package oder Projekt) ausgeführt werden soll, kann unter Windows ecu.test_runner.exe verwendet werden. Details siehe Ausführen eines Packages oder Projektes.

Dieser kann in bestimmten Anwendungsfällen auch die Fernsteuerung via REST API ersetzen. Dabei werden insbesondere Verzögerungen und Komplexität durch das Status-Polling minimiert.

Wird ecu.test über den test.guide ResourceAdapter ferngesteuert, kann in dessen Konfiguration einfach der Name der .exe-Datei ersetzt werden.

Unter Linux wird der ecu.test Runner standardmäßig beim Aufruf von ecu.test verwendet.

Versionsverwaltung

Bei aktivierter Versionsverwaltung wird während der Testausführung für jedes aufgerufene Package die Revision ermittelt und in den Report geschrieben. Das verbessert zwar die Nachvollziehbarkeit, führt jedoch zu Verzögerungen bei der Ausführung. Bei der Verwendung von Git z.B. durch das häufige Starten von git.exe.

Falls die Nachvollziehbarkeit auf anderer Ebene gewährleistet ist bzw. nicht zwangsläufig erforderlich ist, sollte die Versionsverwaltung deaktiviert werden.

Caching und Cache-Synchronisation

Für viele Arten von Testdatenbanken (z.B. A2L, Bus-Datenbanken, einige Modelle) erzeugt ecu.test beim erstmaligen Starten der Toolanbindung bereits lokale Caches. Diese werden wiederverwendet, falls die Datenbank bzw. die Modelldatei seit dem letzten Start unverändert geblieben ist.

Falls das initiale Einlesen der Datenbank erheblich dauert und zusätzlich dasselbe Testobjekt verteilt auf mehreren Testrechnern verwendet werden soll, kann das lokale Caching durch ein Cache-Austauschverzeichnis oder ein test.guide-Depository ersetzt werden.

Logausgaben reduzieren

Falls während der Testausführung eine erhebliche Zahl an Einträgen im Log entsteht, kann dies die Ausführung verlangsamen. In den Protokoll-Einstellungen sollte daher die Stufe Maximal nur gewählt werden, falls das für die Nachverfolgung von Fehlern notwendig ist.

Im Normalfall sollten die Optionen bei Inhalt deaktiviert sein.

Um die Fehlersuche nicht unnötig zu erschweren, sollten die Stufen Minimal oder Aus nur in Ausnahmefällen verwendet werden, wo dies für eine Verbesserung der Performance unbedingt notwendig ist.

Die Option Ausgabe-Logdateien synchron schreiben sollte möglichst deaktiviert sein, um das blockierende Schreiben in die Logdatei zu vermeiden.

Garbage-Collection

Unter bestimmten Umständen kann es sinnvoll sein, den Python Garbage-Collector zu deaktivieren, um Verzögerungen bei der Abarbeitung der Testschritte zu vermeiden.

Große Workspaces

Falls möglich sollte die Verwendung sehr großer Workspaces (mehrere tausend Dateien) vermieden werden. Auch verzögert die Verarbeitung sehr großer prjattr.spec- und pkgattr.spec-Dateien im .workspace-Verzeichnis den Start von ecu.test. Diese sollten daher nur so groß wie nötig sein.

Lizenzabfrage

Zu verschiedenen Zeitpunkten bei der Benutzung von ecu.test wird überprüft, ob eine gültige Lizenz vorliegt. Falls eine Server-Lizenz verwendet wird, kann dies je nach Netzwerkauslastung zu Verzögerungen führen.

Bei wiederholt auftretenden Verzögerungen durch Lizenzabfragen kann je nach Lizenzmodell eine lokal ausgecheckte Roaming-Lizenz verwendet werden.

Falls eine Roaming-Lizenz verwendet wird, sollte darauf geachtet werden, dass die Lizenz nicht automatisch verlängert wird. Dies erreicht man durch das Setzen der Umgebungsvariable:

tracet_RLM_ROAM

auf den Wert 0.

Virtualisierte Umgebungen

Die Performance der Testausführung hängt auch wesentlich davon ab, ob sie komplett lokal auf einem physischen Rechner erfolgt oder in einer Virtualisierungsumgebung. Die dort oft eingeschränkten Ressourcen unterliegen auch manchmal Schwankungen, je nach Gesamtauslastung der Virtualisierungsumgebung.

Die Verwendung von Netzlaufwerken für Testartefakte oder die Ablage von Reports sollte nach Möglichkeit minimiert werden, da diese zu erheblichen Latenzen führen kann.