Webserver-Logdateiauswertung mit Python (Software)

Martin Vogel ⌂ @, Dortmund / Bochum, Wed, 25.02.2015, 15:19 (vor 3320 Tagen)

Ich wollte sehen, wie Python sich als „langsame Interpretersprache“ schlägt, wenn es mal so richtig lange Dateien mit Millionen von Zeilen verarbeiten muss. Als Testobjekt mussten die (anonymisierten) Logdateien des Bauforum-Servers herhalten. Pro Jahr sind das so etwa acht bis 10 Gigabyte Textdateien. Das Python-Skript sollte die Dateien durchlesen und zählen, wie oft in welchem Monat mit welchem Betriebssystem auf die Webseiten zugegriffen wurde. Das Ergebnis hätte dann so ähnlich wie diese Auswertung aussehen sollen.

Der Programmlauf enthüllte eine Überraschung. Die Verarbeitungsgeschwindigkeit wurde allein durch die Lesegeschwindigkeit der USB-2.0-Festplatte begrenzt. Das Pythonskript analysierte pro Sekunde zwischen 150000 und 200000 Zeilen der Logdatei und die Platte lieferte die Daten dazu mit 35 bis 39 Megabyte pro Sekunde. Schneller geht auch ein reiner Kopiervorgang mit der USB-Festplatte nicht.

Die grafische Auswertung (ganz profan mit einer Tabellenkalkulation) zeigte, dass die Vermutung damals offensichtlich zutreffend war, dass die Ära der PCs ihren Höhepunkt überschritten hat. PCs werden wieder zu den Büro-Arbeitsgeräten, die sie vor dem Internet-Boom waren. Für Unterhaltung und Kommunikation eignen sich mobile Geräte und großformatige Fernseher besser als PC-Bildschirme.

[image]
Hohe Auflösung: Bild anklicken

--
Dipl.-Ing. Martin Vogel
Leiter des Bauforums

Bücher:
CAD mit BricsCAD
Bauinformatik mit Python


gesamter Thread:

 RSS-Feed dieser Diskussion

powered by my little forum