EA2013 Benchmarks Web

From air
Jump to navigation Jump to search

Présentation

  • Enseignants : Georges-Pierre Bonneau, Didier Donsez (EA2013)
  • Auteur : FENG Xu <Xu.Feng@e.ujf-grenoble.fr>
  • Télécharger : Présentation


Abstract

The TPC (Transaction Processing Performance Council) defines transaction processing and database benchmarks, and delivers trusted results to the industry. TPC-W, which is obsolete since 2005 but still useful for pedagogic objectives, is one of the benchmarks which evaluates the performance of an e-commerce website. The compilation of the TPC-W generates in an automatic way a Servlet application of an e-commerce website, as well as the database of the website. This application can be deployed in different Servlet containers, such as Apache Tomcat, Eclipse Jetty and Oracle GlassFish. The performance of the website can be measured by the load injector Apache JMeter. This study may help many e-commerce projects a lot.

Keywords

benchmark, TPC-W, JMeter, Servlet container, web server, Tomcat, Jetty, GlassFish, Grizzly


Résumé

Le conseil TPC (Transaction Processing Performance Council) définit des benchmarks web de traitement transactionnel et de base de données, et délivre résultats fidèles à l’industrie. TPC-W, qui est obsolète depuis 2005 mais sert toujours aux objectifs pédagogiques, est un des benchmarks qui évalue la performance d’un site web e-commerce. La compilation du TPC-W génère de manière automatique une application Servlet d’un site web e-commerce, ainsi que la base de données du site. Cette application peut être déployé sur différents conteneurs Servlet, par exemple, Apache Tomcat, Eclipse Jetty et Oracle GlassFish. La performance du site peut être mesurée en utilisant l’injecteur de charge Apache JMeter. Cette étude aiderait beaucoup les projets e-commerce.

Mots-clés

benchmark, TPC-W, JMeter, conteneur Servlet, serveur web, Tomcat, Jetty, GlassFish, Grizzly


Synthèse

Benchmarks web

Le conseil TPC (Transaction Processing Performance Council) définit des benchmarks web de traitement transactionnel et de base de données, et délivre résultats fidèles à l’industrie. Il a défini une série de benchmarks : TPC-C, TPC-DS, TPC-E, TPC-H, TPC-VMS, TPC-Pricing, TPC-Energy, et les obsolètes TPC-A, TPC-B, TPC-D, TPC-R, TPC-W et TPC-App.

TPC-W

Le TPC-W défini par le TPC, qui est obsolète depuis 2005 mais sert toujours aux objectifs pédagogiques, est un des benchmarks web transactionnel qui évalue la performance d’un site web e-commerce. La charge est exercée dans un environnement contrôlé e-commerce qui simule les activités d’un serveur web transactionnel. Les composants associés à tel environnement sont caractérisés par :

  • Multiples sessions
  • Génération dynamique de pages ( accès BD + mise à jour )
  • Objets web consistants
  • Exécution simultanée de multiples types de transaction
  • Modes d’exécution de transaction en ligne
  • Base de données complexe
  • Intégrité de transaction
  • Concurrence sur l’accès aux données et sur la mise à jour

La simulation suppose que le serveur est visité par un nombre croissant de web-bots chacun desquels simule un client. Les pauses entre interactions sont aléatoires. Le nombre de pages visitées lors d'une session est aléatoire.

Critères de performance : WIPS (Web Interactions Processed Per Second), WIPSb, WIPSo, $/WIPS, etc.

Plusieurs interactions sont utilisées pour simuler l’activité de vente d’un magasin. Toute interaction est soumise à une contrainte de temps de réponse.

Conteneurs Servlet

Apache Tomcat

Apache Tomcat est un conteneur web libre de servlets et JSP Java EE. Issu du projet Jakarta, c'est un projet principal de l’Apache Software Foundation. Il implémente les spécifications des servlets et des JSP du Java Community Process, est paramétrable par des fichiers XML et de propriétés, et inclut des outils pour la configuration et la gestion. Il comporte également un serveur HTTP.

  • Configurations

Configurer le port HTTP : dans le fichier tomcat-install/conf/server.xml

<Connector port="8082" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
  • Déploiement

Mettre le dossier de l'application ou le fichier WAR dans le répertoire tomcat-install/webapps

  • Démarrage

Exécuter tomcat-install/bin/startup.sh

Eclipse Jetty

Jetty est un serveur HTTP et un moteur de servlet entièrement fondé sur la technologie Java. Depuis 2009, le développement du noyau est hébergé par la fondation Eclipse. Il est embarqué dans la distribution Eclipse en tant que greffon.

  • Configurations
  • Déploiement
  • Démarrage

Oracle GlassFish

(à compléter avant le 22/11/2013)

  • Configurations
  • Déploiement
  • Démarrage

Apache JMeter

(à compléter avant le 22/11/2013)

Démonstration

Compilation du TPC-W

(à compléter avant le 22/11/2013)

Conteneurs et JMeter

(à compléter avant le 22/11/2013)

Conclusion

(à compléter avant le 22/11/2013)


Annexes