Das Performance-Handbuch: Vorgehen
Die hier vorgestellten Vorgehensweisen sollten Sie sich entsprechend für Ihr Projekt anpassen. Auch wenn ich mich persönlich mit Performance stark beschäftige so lege ich vielfach, insbesondere bei kleinen Projekten, mein Hauptaugenmerk auf die Funktionalität. Erst wenn diese vorliegt beginne ich bei diesen Projekten mit Optimierungsüberlegungen.
Vor und bei der Codierung
[Bearbeiten]- Performante Designentscheidungen
- Performante Systementscheidungen - Das Externe!
- Performante Algorithmen - Profiling
- Low-Level-Optimierung
- Alternative „Native Programmierung“
Dies setzt natürlich teilweise einen funktionierenden Prototyp voraus. Low-Level-Optimierung deutet fast immer auf Fehler in den vorgenannten Punkten hin. Wenn nur noch Low-Level-Optimierungen die Anwendung performant machen, wird auch die native Programmierung nicht mehr viel helfen. Der Vollständigkeit halber ist sie jedoch erwähnt.
Nach der Codierung
[Bearbeiten]- Externes Optimieren ohne Quellcode - Profiling
- Algorithmusoptimierung - und wieder Profiling
- Designoptimierung - und wieder Profiling
- Alternative „Native Programmierung“
Externes Optimieren kann u.a. durch Verkleinern der Bytecode-Dateien vorgenommen werden. Hierbei läuft die Anwendung allein dadurch schneller, dass die Klassen schneller geladen werden. Dies macht sich insbesondere bei Applets bemerkbar. Wo eine Low-Level-Optimierung ansetzen sollte, ist schwer zu entscheiden. Die Schritte sind nicht unbedingt in dieser Reihenfolge vorzunehmen. Die Alternative der Nativen Programmierung wird keine großen Vorteile mehr bringen, wenn die anderen Mittel ausgeschöpft sind.
Besonderheiten bei Web-Anwendungen
[Bearbeiten]- Frühzeitig mit Tests beginnen
- Messung und Analyse der Performance - Festlegung der Mindestperformance
- Analyse des Web-Auftritts - Größe und Anzahl der Grafiken, Anzahl der Server und Serverbandbreite, DNS-Zeit
- Optimierung des Auftritts - Implementation der Web-Anwendung, Aufbau des Web-Auftritts, Bandbreite...
- Überwachung während des Einsatzes
Die Besonderheit bei einer Performance-Optimierung von Web-Anwendungen ist, dass Sie nicht die Benutzereinstellungen optimieren können, dass Sie nicht nur die Anwendung optimieren müssen und dass nicht nur Sie optimieren müssen. Hier ist insbesondere auch der Netzwerkadministrator gefragt.