Systemcheck: Die 10 schlimmsten Performance-Bremsen

  

weitere Artikel

» Von Michael Kurzidim, 27.05.2010 15:35.

6) Verschwenderischer Umgang mit Ressourcen

Resourcen wie Speicher, CPU, I/O-Kanäle oder die Datenbank sind nur begrenzt verfügbar. Der verschwenderische Umgang mit ihnen führt dazu, dass Anwender nicht zeitnah bedient werden können. Ein weit verbreitetes Beispiel ist die zu lange Verwendung von Datenbankverbindungen. Verbindungen sollen nur so lange in Anspruch genommen werden, wie sie auch tatsächlich - zum Beispiel für eine Abfrage - benötigt werden. Viel zu häufig werden Verbindungen aber zu früh angefordert und zu spät freigegeben, was klassische Bottleneck-Problemen nach sich zieht.

7) Aufgeblasene Web-Frontends

Breitband verschafft vielen Endanwender eine reichere Erfahrung im Web. Die schnellere Bandbreite verführt jedoch dazu, Web-Anwendungen aufzublasen und damit wieder langsamer zu machen. Vor allem für Anwender mit langsameren Zugängen wird dadurch das Browsen zur Qual. Zu viele und zu grosse Bilder, falsche oder fehlende Verwendung von Client-Side-Caching oder eine zu aggressive Verwendung von JavaScript/AJAX führen oft zu Performance-Problemen im Browser des Endanwenders. Die aufmerksame Adaption bestehender Best-Practices im Bereich Web Site Performance Optimization beugt diesen Tempobremsen vor.

8) Falsches Cache-Verhalten - hohe Garbage Collection

Objekte im Speicher zu halten - anstatt sie ständig von der Datenbank anzufordern - ist eine praktikable Möglichkeit, die Performance zu optimieren. Speichert man allerdings zu viele, also auch nur sporadisch benötigte Objekte, im Cache-Speicher, werden die Vorteile des Cachings zunichte gemacht. Ganz im Gegenteil: Der Aufwand für Speicher und Garbage Collection steigt.

9) Aufwendige Serialisierungsmechanismen

Bei der Remote-Kommunikation - zum Beispiel via Web Services, Remote Method Invocation (RMI) oder der Windows Communication Foundation (WCF) - werden Objekte vor der Übermittlung serialisiert. Der Empfänger de-serialisiert die gesendeten Objekte wieder. Auf beiden Seiten stellt diese Art der Transformation einen nicht zu unterschätzenden Overhead dar. Es ist deshalb wichtig, sich genau zu überlegen, welcher Serialisierungstyp zum Einsatz kommen soll, um Sender und Empfänger gleichermassen zufrieden zu stellen. Unterschiedliche Serialisierungsoptionen haben ganz unterschiedliche Auswirkungen auf die Performance, den Speicherverbrauch und die Netzwerkauslastung.

10) Problematische 3rd-Party-Komponenten

Schon lange programmieren Software-Entwickler nicht mehr jede Funktionalität einer Applikation selbst, sondern greifen auf Bibliotheken von Drittherstellern zurück. Dieses effiziente Vorgehen erhöht jedoch nicht nur die Produktivität, sondern auch das Risiko von Performance-Problem.Denn wie die 3rd-Party-Bibliothjeken intern funktionieren, bleibt häufig im Dunkeln. Vor der Verwendung empfiehlt sich daher eine gründliche Analyse der Libraries.

Werbung

KOMMENTARE

Keine Kommentare

KOMMENTAR SCHREIBEN

*
*
*
*

Alles Pflichfelder, E-Mail-Adresse wird nicht angezeigt.

Die Redaktion hält sich vor, unangebrachte, rassistische oder ehrverletzende Kommentare zu löschen.
Die Verfasser von Leserkommentaren gewähren der IDG Communications AG das unentgeltliche, zeitlich und räumlich unbegrenzte Recht, ihre Leserkommentare ganz oder teilweise auf dem Portal zu verwenden. Eingeschlossen ist zusätzlich das Recht, die Texte in andere Publikationsorgane, Medien oder Bücher zu übernehmen und zur Archivierung abzuspeichern.