PHP Benchmark Environment Tool

Ab heute gibt es im ilimitado Lab unser neustes PHP Script. Das Tool ist eine komfortable Benchmark Umgebung für PHP Code.

Wir haben also ein kleines PHP Tool geschrieben. Es führt PHP Code über die PHP eval Funktion in einer for
Schleife immer wieder aus und misst die Laufzeit. Diese wird ausgewertet in einer Tabelle.
Es sei darauf hingewiesen, dass es sich dabei um ein “quick and dirty” Script handelt, es funtioniert, läuft stabil und erfüllt seinen Zweck. Es ist jetzt aber nicht sonderlich professionell oder schön programmiert…

Kleine Feature Liste des PHP Benchmark Environment Tool:

  • PHP Code hochladen
  • Anzahl der Benchmark Test Durchläufe anpassbar
  • Bereinigung der Durchläufe um Ausreißer (Peaks)
  • Graphische Benchmark Auswertung
  • Auf deutsch und englisch verfügbar

Das Script richtet sich als kleines Helfer Tool an alle PHP Entwickler die Wert auf Laufzeit optimierten Quellcode legen und eine Möglichkeit suchen PHP Code schnell und einfach auf seine Laufzeit zu testen. Die ilimitado PHP Benchmark Environment ist genau das richtige Tool um unkompliziert unterschiedliche PHP Codes in Bezug auf ihre Laufzeit zu vergleichen.

Wie ein solches Ergebnis aussieht kann unter der Benchmark Demo Homepage angeschaut werden.

Der Quellcode kann direkt unter ilimitado Labs bezogen werden.

Eine kleine Dokumentation ist ebenfalls verfügbar im ilimitado Lab unter Dokumentation

Noch ein Sicherheitshinweis: Das Script kann nur von einer Person gleichzeitg genutzt werdne und farf auf keinen Fall öffentlich zugänglich auf einen Webserver gestellt werden. Es führt jeden beliebigen PHP Code aus, der über die Form eingegeben wird. Damit kann ein Angreifer den kompletten Server übernehmen! Immer in einem nicht öffentlichen Verzeichnis mit zusätzlichem .htaccess Schutz ausführen!!

Für gute Benchmarks sollte der Testserver immer die gleiche Auslastung haben. Ein durch Windows und viele Hintergrundprogramme “gestresster” PC dient nicht gerade als ideales Testsystem.

Beim Aufruf der index.php ist das Optionsmenü der Übersicht halber versteckt, es kann durch Klick auf einblenden unter dem Punkt Einstellungen aktiviert werden.
Dort können die Benchmark Optionen gesetzt werden und natürlich Quellcode zur Ausführung hoch geladen werden.
Jeder Code muss zwischen stehen, keine Leerzeichen oder Sonstiges dürfen davor oder danach stehen!

Wird der Benchmark ausgeführt, kann man durch klicken auf “Ausgaben einblenden”, die Ausgaben des Testlaufes sehen.

Interessanter ist natürlich die Laufzeit, diese wird in 2 Ansichten präsentiert. Die Absolute Ansicht zeigt einfach den Schnitt aller Testläufe. Die Quantils Ansicht ist um die obersten 10 Prozent und die untersten 10 Prozent “befreit”. So sind Ausreißer (Peaks), welche den Schnitt verfälschen eliminiert und der Benchmark ist viel aussagekräftiger.

Dann gibt es noch 3 Bewertungen des Benchmark. Es wird geprüft, ob der Server zur Laufzeit eine hohe Auslastung hatte
oder ob “er sich wirklich um das PHP Script kümmern konnte” Als zweites wird die Abweichung betrachtet, ist diese zu hoch, also die Streuung der Ergebnisse zu hoch, ist der Benchmark nicht aussagekräftig.
Die letzte Auswertung prüft, ob das ausgeführte Script “lang” genug war, ein zu kurzes Script kann nicht aussagekräftig getestet werden.

Zu guter Letzt sieht man noch eine graphische Auswertung und eine Tabelle mit allen Testläufen.
(markiert sind auch die “gestrichenen” Ergebnisse der Quantils Ansicht.)

Sind also alle 3 “Lampen” auf grün öffnet man ein 2. Browserfenster, oder speichert sich die Ergebisse der Tabelle in eine Datei und führt den nächsten Benchmark aus, welchen man mit dem ersten Code dann vergleichen kann.
So können beliebig viele unterschiedliche Versionen des Quellcodes gebenchmarkt werden, bis man die schnellste Variante dentifiziert hat.

Nochmal alle Links für das PHP Benchmark Environment Tool:
Benchmark Dokumentation
Benchmark Tool Download
Benchmark Demo

Wenn dir dieser Beitrag gefällt, lade den Autor doch mal zu einem Drink ein ;-)

Broadcast us
  • Yigg
  • Webnews.de
  • Digg
  • MisterWong
  • del.icio.us
  • Technorati
  • DZone
  • Facebook
  • Google Bookmarks
  • Reddit
  • StumbleUpon
  • TwitThis

Tags: ,

One Response

  1. [...] war’s auch schon Mai und wir stellten unser simples PHP Benchmark Environment Tool vor und starteten eine Serie von sehr ausführlichen Beiträgen über barrierefreies Webdesign. [...]

Leave a Reply