Open Source im professionellen Einsatz
Linux-Magazin 11/2007
260

Die Ernte

Um zu beurteilen, ob die gemachten Anstrengungen wirklich der Mühe wert waren, hat der Autor in die Klasse »ClientConnection« eine Zeitmessung integriert, um die Dauer für die Generierung der Antwortseiten zu protokollieren. Die Zeit für den Datentransfer bleibt unberücksichtigt, da sie von der Netzwerkverbindung zum Client bestimmt ist.

Unglaublich

Ein erster Versuch mit der C-Funktion »ftime(3)« ließ den Autor zunächst an einen Programmierfehler glauben: Die gemessene Zeit war meist 0, manchmal 1 (also 1 Millisekunde). Erst eine Messung mit »gettimeofday(2)«, die in Mikrosekunden auflöst, brachte die volle Wahrheit zu Tage.

Das Ergebnis kann jedermann auf »www.tauschzone.de« live bestaunen. Jede Seite gibt zu diesem Zweck am Seitenende die Generierungszeit aus. Bei einfachen Seiten liegt sie deutlich unter 100 Mikrosekunden. Sehr komplexe Seiten genehmigen sich etwa 400 Mikrosekunden. Der Schnitt liegt bei rund 250 Mikrosekunden. Das bedeutet eine Rate von 4000 Seiten pro Sekunde! Und das auf einem preisgünstigen, zwei Jahre alten Mietserver.

Um das Verhalten auch bei großen Datenmengen zu untersuchen, hat der Autor eine Testfunktion geschrieben, die in der Tauschzone zufällige Artikel einstellt. Selbst bei etlichen hunderttausend Artikeln war keine nennenswerte Verlangsamung festzustellen. Das lässt ahnen, welches Potenzial sich erschließt, wenn man noch weitere Optimierungsmöglichkeiten ausschöpft, zum Beispiel einen besser optimierenden Compiler, effizientere Datenstrukturen als die der STL oder die oben skizzierte Lastverteilung auf mehrere Server.

Wenn die Voraussetzungen für LOA gegeben sind (überschaubare Menge an Datentypen, ausreichend RAM, um alle Daten im Hauptspeicher zu halten), lassen sich mit dieser Methode sensationell kurze Antwortzeiten und hohe Durchsätze erzielen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Meteor

    Javascript sowohl im Browser als auch auf dem Server: Das Webframework Meteor verspricht Anwendungen aus einem Guss, die sich dank vieler fertiger Pakete rasch programmieren lassen.

  • Backbone.js

    Die Javascript-Engines moderner Browser sind leistungsfähig genug, um die Anwendungslogik zu übernehmen. Wie auf dem Server beschleunigen auch hier Frameworks die Entwicklung. Ein herausragendes Beispiel für diese Gattung ist Backbone.js, das ein lokales Datenmodell umsetzt.

  • Gesichert wie eine Bank

    Die beliebte Open-Source-Datenbank MySQL kennt verschiedene Möglichkeiten der Datensicherung. Jede hat Vor- und Nachteile, die jedoch nur unter bestimmten Umständen gravierend sind.

  • Django

    Alle befragten Django-Entwickler waren über die vom Linux-Magazin gestellte Aufgabe nicht glücklich: Mit einem CMS sei das wesentlich einfacher zu lösen, hieß es. Autor Sven Schannak zeigt, wie es trotzdem klappt.

  • Perl-Snapshot

    Größere Dateien tauscht die Jugend heute gerne über den proprietären Dropbox-Service aus. Dessen Web-API erlaubt auch den Einsatz selbst geschriebener Skripte, beispielsweise zum Abholen einer Datei aus dem Schatten einer Firewall.

comments powered by Disqus

Ausgabe 04/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.