Login
Newsletter
Werbung

Di, 28. Oktober 2014, 15:29

Software::Desktop::Gnome

Gnome richtet Infrastruktur für Geschwindigkeitstests ein

Owen Taylor beschreibt in seinem Blog den Aufbau der Gnome-Infrastruktur, um kontinuierliche Leistungstests durchzuführen.

Architektur von perf.gnome.org

Owen Taylor

Architektur von perf.gnome.org

Kontinuierliche Integration ist Stand der Technik in der Software-Entwicklung. Immer mehr Projekte nutzen sie, um sicherzustellen, dass bestimmte Fehler im Code frühzeitig erkannt werden. Kontinuierliche Integration bedeutet, dass das Projekt häufig, im Idealfall nach jeder Änderung, neu gebaut und automatisiert getestet wird, soweit möglich. Compilierfehler und Regressionen können so in kürzester Zeit erkannt und behoben werden, in der Regel lange, bevor die Software die Benutzer erreicht.

Auch Gnome nutzt ein solches System in seiner Infrastruktur. »Gnome Continuous« ist auf build.gnome.org beheimatet. Es wurde von Colin Walters eingerichtet und nutzt intern dessen ostree-System, um die Ergebnisse zu speichern. Ostree funktioniert ähnlich wie Git, aber für Binärdateien, und kann diese sehr effizient speichern, da Duplikate nur einmal gespeichert werden.

Owen Taylor wollte jedoch noch einen Schritt weiter gehen. Wie er in seinem Blog schreibt, wollte er Leistungstests in das System einführen, um die Arbeit an Geschwindigkeitsoptimierungen voranzubringen und Regressionen auch bei der Geschwindigkeit schnell zu erkennen. Es wurde beobachtet, dass dieselben Probleme mit der Geschwindigkeit von Gnome immer wieder auftauchten und manche Probleme nicht genau einzugrenzen waren, so dass es insgesamt wenig Fortschritte gab.

So nahm Taylor seine bereits vorhandenen Geschwindigkeitstests und versuchte, sie in das Build-System zu integrieren. Das Problem dabei war, dass die Code-Generierung und allgemeine Tests in virtuellen Maschinen laufen. Diese sind für reproduzierbare Geschwindigkeitstests grundsätzlich nicht geeignet. Aus diesem Grund wurden mehrere Desktop-Rechner exklusiv für die Geschwindigkeitstests in die Infrastruktur aufgenommen. Diese Rechner werden von speziellen Controller-Rechnern gesteuert, die dafür sorgen, dass die Testrechner kontinuierlich laufen können - notfalls indem sie nach einem Absturz den Strom kurz ausschalten und so einen Reboot auslösen.

Die Testrechner verbinden sich nicht direkt mit den Build-Servern und senden ihre Daten nicht direkt an die Server für die Testergebnisse, sondern gehen über die Controller. Die Controller steuern auch, welches System die Testrechner booten, und erhalten die Logs vom Systemd-Journal. Laut Tayler laufen die Tests bereits seit drei Monaten, und die Ergebnisse sind auf perf.gnome.org verfügbar. Offenbar gibt es zur Zeit erst wenige Tests, so dass Taylors Vorstellung wohl auch darauf abzielt, dass weitere Tests geschrieben werden. Details zu dem System gibt es im Gnome-Wiki.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung