Ein Performance-Benchmark für Java-Web-Frameworks

worked on by: Christophe Sokol

Outline

Das Ziel der Arbeit ist die Konzeption eines Benchmarks, der die Performance von Java-Web-Frameworks misst und dadurch vergleichbar macht. Aufgaben, die im Rahmen dieser Arbeit bearbeitet werden sollen sind die Spezifikation einer einheitlichen Umgebung, innerhalb derer sich die Frameworks vergleichen lassen, die Auswahl eines geeigneten Benchmark-Programmes, das Aufsetzen der Umgebung, sowie die Durchführung der Messungen und das Analysieren und Aufbereiten der Daten.

Wochenplanung

KW 43

  • Zwei VMs des Fachbereiches aufgesetzt
    • Puppet als Werkzeug zur Konfigurationsverwaltung installiert
    • Als Uebung die FU security policy mit Puppet implementiert
    • Virtualisierung mit LXC eingerichtet
    • Greylog und Puppet Dashboard installiert
  • Java Application Server und Benchmarking Tools recherchiert
  • Entscheidung fuer LXC als Virtualisierungs-Werkzeug
    • OpenVZ ist nicht ohne weiteres unter Debian-Distributionen verfuegbar
    • Echte (Hardware-)Virtualisierung z.B. mit kvm in den bereits virtualisierten VMs des Fachbereiches derzeit nicht verfuegbar

KW 44

  • Tapestry installiert
  • Gitlab installiert
  • Routing zwischen den VMs konfiguriert
  • Automatisierung der Administration
    • VMs erzeugen und provisionieren
    • Java und Maven installieren
  • Erster Benchmark mit ApacheBench und Tapestry

KW 45

  • Automatisierung der Administration
    • Deployment der Tapestry-Beispiel-Anwendung aus Gitlab
    • Benchmark mit Apachebench
    • Generierung eines Boxplot durch R
  • siege als Benchmarking-Werkzeug verworfen, Zeitangaben zu ungenau

KW 46

  • Liste mit möglichen Bestandteilen eines Benchmarks erstellt
  • Recherche zu Technologien und Projekten im Java-Web-Umfeld

KW 47

KW 48

  • Implementierung der ersten Teilbenchmarks für Spring MVC

KW 49

  • Spezifikation der bestehenden und weiterer Teilbenchmarks

KW 50

  • Arbeit an der Ausarbeitung

KW 51 (Aktuell)

  • Implementierung weiterer Teilbenchmarks

KW 52

KW 01

KW 02

KW 03

KW 04

KW 05

KW 06

KW 07

KW 08

KW 52

KW 09

KW 10

KW 11

KW 12

KW 13

KW 14

KW 15

KW 16

KW 17