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

sizzledgooseΛογισμικό & κατασκευή λογ/κού

3 Νοε 2013 (πριν από 3 χρόνια και 10 μήνες)

464 εμφανίσεις

Ein Performance-Benchmark für
Java-Web-Frameworks
Diplomarbeit
Christophe Sokol
Institut für Informatik
Freie Universität Berlin
13.Juni 2013
Kontext
Umsetzung
Verweise
Performance-Benchmarks
I
Was ist der Untersuchungsgegenstand?
I
Was wird gemessen?
I
Wie wird gemessen?
I
Womit wird gemessen?
Java-Web-Frameworks
I
Tapestry
I
Spring MVC
I
JSF
I
Struts
I
Ruby on Rails,Sinatra (Ruby)
I
Django (Python)
I
Catalyst (Perl)
I
Symfony,Zend Framework (PHP)
Features von Web-Frameworks und -Anwendungen
I
Routing
I
Views/Templates
I
Input Validation
I
Session Handling
I
ORM
I
Form Handling
I
Authentication
I
Authorization
I
I18n/L18n
I
Scaffolding
I
Caching
I
Asset Management
I
Web services
I
AJAX
Frameworks sind unterschiedlich
I
Mikroframeworks
I
Full-Stack-Frameworks
I
Einfluss der Plattform
I
Zielgruppe
Bestehende Benchmarks
I
Extremer Anwendungsfall
I
Kleine Auswahl von Frameworks
I
Infrastruktur nicht transparent
I
Sind veraltet
Ansatz
I
Aufteilung in Teilbenchmarks
I
Quellcode und Konfiguration der Infrastruktur mit git
verwalten
I
Automatisierte Auswertungen
I
Kollaboration per sog.Pull-Request
Teilbenchmarks
I
Hallo Welt
I
Routing
I
Zufälliger Text
I
Seitenwechsel
I
Binäre Daten
I
Formulare
I
Sessions
I
Authentifizierung
I
Datenbankzugriff
I
Templates
I
Globalisierung
I
API
Ein Teilbenchmark
I
Implementierung mit Spring MVC und Tapestry
I
Deployment mit Puppet
I
Konfiguration der Benchmarks mit Puppet
I
Auswertung mit R
I
Ergebnis als Webseite
Probleme
I
Viele verschiedene Technologien und Sprachen
I
Automatisierung ist zeitaufwändig
I
Benchmarks noch nicht 100%ig deterministisch(!)
I
Was ist eine Web-Anwendung?
I
Iteratives Vorgehen schwer durchzuhalten
Nächste Schritte
I
Ermitteln von optimaler Konfiguration der Laufzeitumgebung
I
Implementierung weiterer Teilbenchmarks
I
Erweitern der Auswertungen
I
Validierung der Ergebnisse auf anderer Infrastruktur
I
Web-basiertes Anlegen von Benchmarks (Puppet ENC)
I
Weitere Frameworks einbeziehen
Literatur
I
Casteleyn,Sven,Florian Daniel,Peter Dolog,and Maristella Matera.Engineering Web Applications.
Data-Centric Systems and Applications.Berlin,Heidelberg:Springer-Verlag,2009.
I
———.“Performance Testing.” In Engineering Web Applications,349.Data-Centric Systems and
Applications.Berlin,Heidelberg:Springer-Verlag,2009.
I
F5 Networks,Inc.“Creating a Robust Performance Testing Methodology,” 2007.
https://devcentral.f5.com/downloads/f5/creating-performance-test-methodology.pdf.
I
Feitelson,Dror G.“Metric and Workload Effects on Computer Systems Evaluation.” Computer 36,no.9
(September 2003):18–25.
I
Fleming,Philip J.,and John J.Wallace.“How Not to Lie with Statistics:The Correct Way to Summarize
Benchmark Results.” Communications of the ACM 29,no.3 (March 1986):218–221.
doi:10.1145/5666.5673.
I
Lev Walkin.“Stress-testing Httperf,Siege,Apache Benchmark,and Pronk.” Lionet,January 4,2012.
http://lionet.livejournal.com/99984.html.
I
Sohn,Dirk M.,and Papick Taboada.OIO Kompass:Java Web-Frameworks.Orientation in Objects
GmbH,April 2012.http://www.oio.de/public/java/java-web-frameworks-vergleich/jsf-vs-gwt-studie.htm.
Benchmarks
I
Cecchet,E.,V.Udayabhanu,T.Wood,and P.Shenoy.“Benchlab:An Open Testbed for Realistic
Benchmarking of Web Applications.” In 2nd USENIX Conference on Web Application Development,37,
2011.http://static.usenix.org/events/webapps11/tech/final_files/webapps11_proceedings.pdf.
I
Davis,Seth.“The Great Web Framework Shootout.” Blog.Curia:Technology Thoughts and Ideas,2011.
http://blog.curiasolutions.com/the-great-web-framework-shootout/.
I
JT Dev.“Rails,Wicket,Grails,Play,Tapestry,Lift,JSP,Context.” Blog.About Programming Stuff,May
28,2011.http://www.jtict.com/blog/rails-wicket-grails-play-lift-jsp/.
I
Nagpurkar,P.,W.Horn,U.Gopalakrishnan,N.Dubey,J.Jann,and P.Pattnaik.“Workload
Characterization of Selected JEE-based Web 2.0 Applications.” In IEEE International Symposium on
Workload Characterization,2008.IISWC 2008,109–118,2008.
I
Punz,Werner.“Mojarra Vs.MyFaces Performance.” Werners Blog,October 14,2011.
http://werpublogs.blogspot.de/2011/10/mojarra-vs-myfaces-performance.html.
I
TechEmpower,Inc.“Framework Benchmarks.” TechEmpower Blog,March 28,2013.
http://www.techempower.com/blog/2013/03/28/framework-benchmarks/.
I
Thomas,Peter.“‘Perfbench’ Update:Tapestry 5 and Grails.” Blog.Incremental Operations,September
14,2009.http://ptrthomas.wordpress.com/2009/09/14/perfbench-update-tapestry-5-and-grails/.
I
———.“Seam/JSF Vs Wicket:Performance Comparison.” Blog.Incremental Operations,January 14,
2009.http://ptrthomas.wordpress.com/2009/01/14/seam-jsf-vs-wicket-performance-comparison/.
I
Uribe,Leonardo.Understanding JSF 2 and Wicket:Performance Comparison,May 18,2012.
https://raw.github.com/lu4242/performance-comparison-java-web-frameworks/master/comparison-2012-
APR/Performance%20Comparison-Leonardo%20Uribe-FINAL-Detailed.pdf.
I
Van den Enden,Stijn.“WWW:World Wide Wait.A Performance Comparison of Java Web Frameworks.”
presented at the Devoxx,Antwerp,Belgium,November 17,2011.
http://prezi.com/dr3on1qcajzw/www-world-wide-wait-devoxx-edition/.