Performancemessungen ein- und ausschalten
2. April 2009 Roland
- Erstellen eines Newssystems
- Akteure im Newssystem
- Newssystem Anwendungsfälle für den Systemadministrator
- Newssystem Anwendungsfälle für den Editor
- Newssystem Anwendungsfälle Zusammenfassung
- Newssystem Anwendungsfälle Webuser
- Anwendungsfall Add Category
- Anwendungsfall Add Editor to Category
- Anwendungsfall Change Editor
- Nebenläufigkeiten beim Editieren von Newseinträgen
- Anwendungsfall Create Editor
- Anwendungsfall Delete Category
- Anwendungsfall Delete Editor
- Anwendungsfall Edit Category
- Anwendungsfall Remove Editor From Category
- Anwendungsfall Show Editors
- Anwendungsfall Show Categories
- Anwendungsfall Add Image to Newsentry
- Anwendungsfall Create Newsentry
- Anwendungsfall Delete Image
- Anwendungsfall Delete Newsentry
- Anwendungsfall Edit Image Data
- Anwendungsfall Edit Newsentry
- Anwendungsfall Navigate in Newslist
- Anwendungsfall Remove Image from Newsentry
- Anwendungsfall Search Image
- Anwendungsfall Search News
- Anwendungsfall Set Presentation Times
- Anwendungsfall Upload Image
- Anwendungsfall Navigate Archive News Shortentries
- Anwendungsfall Navigate Shortentries
- Anwendungsfall Show Archive Newsentry
- Anwendungsfall Show Newsentry
- Anwendungsfall Show Shortentries
- Aufbereiten der bisherigen Anwendungsfälle
- Technische Anwendungsfälle
- Nebenläufigkeiten beim Lesen von Newseinträgen
- Lasst uns mal über Performancemessung reden
- Erste Gedanken zum Backup und Restore für unser Newssystem
- Zwischenschicht zur Performancemessung einbauen
- Performancemessungen ein- und ausschalten
- Performance Messung auf dem Server durchführen
- Newssytem Daten Modellieren
- Anwender Aktionen loggen
- Geschäftsmodelle erkennen
- ImageModel Beschreibung
- Installierbarkeit des Newssystems
- Housekeeping im Newssystem
- Anwendungsfall SearchNotUsedImages
- UserModel Beschreibung
- Meldungsverwaltung und Severity Bestimmung im Newssystem
- UserModelFactory
- Einsatz eines Frameworks für die Erstellung des Newssystems
- Ist das Newssystem einfach nur eine View auf eine Blogsoftware?
- Factory- und Adapter Pattern für die Erweiterung von WordPress
- Wieso will ich das Newssystem nicht als WordPress Plugin erstellen?
- Newssystem gesundschrumpfen
- Wer sind unsere Kunden für das Newssystem?
- Requirements für Newssystem erfassen
- Rahmenbedingungen für das Newssystem
- Entscheidung wie das Newssystem jetzt umgesetzt werden soll
- Welche Tools können wir zur Anforderungsverwaltung einsetzen?
- Verwalten der Anforderungen
- Namensänderungen im Newssystem Modell
- Ein Tool für die Anforderungen
- Komponenten die im ersten Sprint umgesetzt werden sollen
- Auf der Suche nach einem Tool um Anforderungen zu erfassen
- Security fummelt man am Besten gleich in die Architektur hinein
- Security Komponenten Klassendiagramm
- wie schrumpft man das System Gesund?
Nehmen wir einmal an, dass wir uns entscheiden die Performancemessungen durchzuführen. Im normalen Betrieb ist es eigentlich gar nicht notwendig diese Messungen durchzuführen. Das System läuft einfach und alle sind glücklich. Warum sollten wir dann überhaupt Messungen durchführen und Datenmüll ansammeln?
Eventuell sollten wir das an bestimmten Stellen immer tun um sicherzustellen, dass z.B. die Datenbankzugriffe immer schön schnell sind. Wenn hier ein bestimmter Wert der Zugriffszeit überschritten wird, können wir entsprechend handeln und dem Systemadministrator eine Warnung oder einen Alarm schicken.
Auf dem Client brauchen wir vermutlich nicht immer zu messen. Einige Clients haben nicht gerade viel CPU Leistung und es wäre dumm, diese Clients mehr zu belasten als unbedingt notwendig.
Also wäre es doch toll, wenn wir unsere Performancemessung ein- und ausschalten könnten.
Was für Ein- und Ausschaltmöglichkeiten haben wir?
Auch hier gibt es wieder viele Möglichkeiten wie wir vorgehen können.
Hardcodierte Lösung
Wir könnten zum Beispiel eine Datei auf dem Server hinterlegen und in dieser Datei einen Wert eintragen. Wenn der Wert z.B. check_performance=true gesetzt wurde, liefern wir den Performance-Messungscode mit aus. Wenn nicht, werden wir einen leeren Performance-Messcode, also ein Stück Software dass nur das Interface abbildet aber keinerlei weiteren Code beinhaltet, ausliefern.
Damit bleibt im Normalfall unser AJAX Client schön schlank und rank. Wenn wir dann mal messen müssen, laden wir die dafür notwendigen Codesegmente zum Client.
Cool oder?
Wir können auch den Code immer mit ausliefern. Das hat den Vorteil, dass wir keine zwei Codesegmente (die auscodierten und die leeren) testen müssen.
Der Nachteil dieser Lösung ist, dass irgendjemand die Datei entsprechend anpassen muss. Und da wir das Newssystem irgendwo im Internet betreiben, kann es sein das wir keinen Zugriff auf die Datei haben.
Oberfläche zum Ein- und Ausschalten
Schöner ist vielleicht, wenn wir eine Oberfläche zusammenstellen mit der der Systemadministrator das Performancemessen ein- und ausschalten kann. So können wir ganz gezielt die Messung ansetzen.
Der Nachteil hierbei ist, dass wir für den Systemadministrator eine entsprechende Oberfläche bereithalten müssen. Das ist wiederum mit Aufwand verbunden. Wir müssen die Oberfläche erstellen und später den Code warten.
Tja, irgendwie gibt es wohl keine Ideallösung gelle?
Der Beitrag wurde
am Donnerstag, den 2. April 2009 um 06:52 Uhr veröffentlicht
und wurde unter Programmieren abgelegt.
Kurzlink: http://www.baldenhofer.eu/blog/?p=730
Dir gefiel der Artikel? Dann abonniere doch den RSS Feed![]()
Du kannst die Kommentare zu diesem Eintrag durch den RSS 2.0 Feed verfolgen. Du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.








