Leanpub Header

Skip to main content

Maîtriser Apache JMeter

Du test de charge à Devops

Toute la puissance d'Apache JMeter expliquée par ses commiteurs et utilisateurs experts. De l'intégration continue en passant par le Cloud, vous découvrirez comment intégrer JMeter à vos processus "Agile" et Devops.

If you're looking for the newer english version of this book, go to Master JMeter : From load testing to DevOps

The authors are letting you choose the price you pay for this book!

Pick Your Price...
PDF
EPUB
WEB
513
Pages
38,690Words
About

About

About the Book

Au fil des chapitres, vous découvrirez la richesse de JMeter et apprendrez à l'utiliser de façon efficace et performante.

De l'enregistrement automatique qui vous permet de gagner en productivité et en réalisme dans l'écriture de vos scripts, en passant par la variabilisation qui rend votre test réaliste et réutilisable à travers les environnements, les auteurs vous mettent sur la bonne voie de réalisation de vos campagnes de tests de montée en charge.

Ils explorent ensuite les différents protocoles offerts par l'outil à travers des exemples tirés de leurs expériences professionnelles.

Enfin ils montrent comment intégrer l'outil dans la démarche DevOps, réaliser des rapports professionnels et exploiter la richesse de son éco système pour intégrer de nouveaux protocoles, enrichir son monitoring ou démultiplier sa puissance par l'utilisation du Cloud.

Découvrez des extraits de ce livre ici:

  • http://arodrigues.developpez.com/livres/jmeter/maitriser-jmeter/ecosysteme-apache-jmeter/
  • http://arodrigues.developpez.com/livres/jmeter/maitriser-jmeter/tester-serveur-base-donnees/

Price

Pick Your Price...

Minimum price

$29.95

$39.95

You pay

$39.95

Authors earn

$31.96
$

All prices are in US $. You can pay in US $ or in your local currency when you check out.

EU customers: prices exclude VAT, which is added during checkout.

...Or Buy With Credits!

Number of credits (Minimum 2)

2
The author will earn $24.00 from your purchase!
You can get credits monthly with a Reader Membership

Author

About the Authors

Antonio Gomes Rodrigues

Antonio Gomes Rodrigues est expert dans le domaine des performances applicatives depuis plus de 10 ans.

Ses missions l’ont amené à travailler :

  • Sur les performances des sites web à fort trafic
  • Sur les performances d'une application pour courtiers
  • Sur les performances de clients lourds, d'applications dans le cloud, d'application web, etc.
  • Avec divers profilers : JProfiler, Yourkit, VisualVM, etc.
  • Avec divers APM : Dynatrace, AppDynamics, Introscope, NewRelic, etc.
  • Avec divers outils de test de charge : JMeter, LoadRunner, etc.
  • Dans diverses missions : tests de charge, mise en place de stratégies de performance, formations, audits de performance, diagnostics, etc.

Il partage ses connaissances de la performance applicative lors de conférences, sur son blog et lors de relectures techniques de livre.En plus de l'utiliser lors de ses missions, il contribue à JMeter.

Bruno Demion (Milamber)

Bruno Demion, better known as Milamber, is a French computer scientist expatriated in Morocco since 2002, currently living in Témara (near Rabat).

He works in a technology consulting and expertise company as a partner, senior technical expert and technical architect.

Through his work and passion for IT, Milamber has strong skills in performance, troubleshooting, security and technical architectures around web technologies.

Since December 2003, he has been working with JMeter to perform load tests in various missions and training courses.

He contributes as much as possible to the JMeter project in his spare time, in particular on the translation into French of the graphical interface, corrections of anomalies as well as some behaviors (proxy https, new results tree, icon bar, etc.).

He is currently a committer, PMC member and the PMC Chair of the Apache JMeter project within the Apache Software Foundation - ASF. He is also an official ASF member. His Apache ID is milamber.

Milamber also has a personal blog with many articles and tutorials on Apache JMeter, some of which inspired this book.

Philippe Mouawad

Philippe Mouawad is a technical expert and architect in J2E and Web environments within the company Ubik-Ingenierie.

He has been using JMeter since 2009 as part of performance improvements missions, load testing of intranet or e-commerce websites and trainings on JMeter.

He has been contributing to JMeter since 2009 first through patches and then as a 'committer' and member of Project Management Committee at Apache.

Among his main contributions, the CSS selector Extractor, the Boundary Extractor, the Backend Listener (allowing to interface among others Graphite, InfluxDB or ElasticSearch),

part of the Web reporting feature and the optimization of the performances of the core, its stabilization and various ergonomic improvements, to his credit more than 400 bugs/improvements.

He also contributes to the JMeter-Plugins project, among his contributions are Redis DataSet, Graphs Generator Listener and various patches to different plugins.

He also manages the JMeter Maven Plugin project, he has been managing it since version 2.3.0 ensuring its compatibility with last JMeter releases and improving its

dependencies management and reporting mechanism.

He is currently a committer and a PMC member of the JMeter project within the Apache Software Foundation.

His Apache ID is pmouawad.

He is also a lead developer of the Ubik Load Pack solution, a set of Enterprise Plugins which provides support for protocols that are not natively supported by JMeter.

Finally, he contributes to the Ubik-Ingenierie blog.

Contents

Table of Contents

Droits

Préface

Présentation des auteurs

  1. Antonio Gomes Rodrigues
  2. Bruno Demion (Milamber)
  3. Philippe Mouawad (Philippe M.)

Démarrer rapidement avec JMeter

  1. Quelles étapes ?
  2. Préparer son arbre d’enregistrement JMeter
  3. Configurer son navigateur
  4. Enregistrer sa session modèle
  5. Valider son script avec un seul utilisateur
  6. Paramétrer son test de charge et lancer le tir
  7. Lancer son test de charge et l’analyser

Présentation de JMeter

  1. Présentation de JMeter
  2. Types de tests de charge supportés
  3. Protocoles de test supportés
  4. Rapports de test

Concevoir un scénario de test

  1. Introduction
  2. Warning
  3. Type de test de charge
  4. Test de performance (Performance/Load Test)
  5. Test de stress (Stress Test)
  6. Test d’endurance (Soak/Endurance Test)
  7. Test de robustesse (Failover/Resilience Test)
  8. Spike Test
  9. Autres
  10. Modèle de charge
  11. Nombre de VU concurrents fixe (Closed model)
  12. Contrôle du nombre de transactions
  13. Contrôle du débit d’arrivée des VU (Open model)
  14. Décomposition d’un scénario de test
  15. Ramp Up ou montée en charge
  16. Plateau
  17. Ramp Down ou descente de charge
  18. Exemple : test de charge par palier
  19. Identifier les scénarii « métiers » à scripter
  20. Fréquents
  21. Vitaux
  22. Risqués
  23. Combien d’utilisateurs virtuels pour son test de charge ?
  24. Paramètres à prendre en compte lors de la réalisation d’un scénario
  25. Varier les entrées utilisateurs
  26. Réutiliser les mêmes valeurs
  27. Varier le type des utilisateurs
  28. Varier et ajuster les temps de réflexion
  29. Ajuster la durée de la montée en charge (Ramp up)
  30. Ajuster la durée du test
  31. Gestion des erreurs
  32. Type de connexion utilisateur
  33. Taille des scénarii
  34. Point de rendez-vous
  35. Gestion des cookies
  36. Gestion du cache
  37. Conclusion

Préparer les environnements de tests (injecteurs et système testé)

  1. Introduction
  2. Préparation des injecteurs
  3. Pas d’injecteurs sur les mêmes serveurs que le système testé
  4. Calibrage de son test
  5. Superviser l’injection
  6. IP Spoofing
  7. Utiliser la dernière version
  8. Configuration mémoire de JMeter
  9. Éviter de tirer derrière un proxy
  10. Préparation du système testé
  11. Un environnement testé
  12. Un environnement cohérent avec la cible
  13. Jeux de données
  14. Prendre en compte les appels à un service extérieur
  15. Désactiver les systèmes de protection
  16. Environnement isolé
  17. Gestion des licences
  18. Supervision
  19. Conclusion

Gagner en productivité lors de la création d’un script

  1. Introduction
  2. Bonnes pratiques lors de l’enregistrement
  3. Ne pas hésitez à utiliser l’élément HTTP(S) Test Script Recorder
  4. BlazeMeter Chrome Extension
  5. Pré remplir HTTP Request Defaults avant l’enregistrement du script
  6. Ressources statiques
  7. Mettre des timeouts
  8. Choix d’une nomenclature pour le nom des transactions/requêtes
  9. Assertion générale
  10. Mutualiser des morceaux de script
  11. HTTPS
  12. Raccourci clavier
  13. Debugger un script
  14. Utilisation de l’élément View Results Tree
  15. Capture les requêtes en erreur
  16. Debug Sampler
  17. jp@gc - Dummy Sampler
  18. Log Viewer
  19. BlazeMeter Step-by-step Debugger
  20. À l’ancienne dans la console
  21. Utiliser un outil tiers
  22. Finaliser un script
  23. Changer le label d’une transaction en fonction d’un paramètre
  24. Partager une variable entre différents Thread Groups
  25. Exploiter au mieux les fichiers CSV
  26. Marquer une réponse comme étant une erreur
  27. Utilisation de l’élément Regular Expression Extractor sur un contenu avec des espaces et plusieurs lignes
  28. Exécuter une action en fonction du statut de la précédente
  29. Ajouter des entêtes à nos requêtes HTTP
  30. Attendre avec l’élément While Controller
  31. Le bon Extractor au bon moment
  32. Manipuler les cookies
  33. Conclusion

Tester un site web

  1. Un peu de théorie
  2. Mise en place avec JMeter
  3. Méthodologie
  4. Mise en pratique avec JMeter
  5. Exemple 1 : Simuler une charge réaliste
  6. Exemple 2 : Tests techniques avec Byteman
  7. Exemple 3 : Tests techniques avec JProfiler
  8. Exemple 4 : Passer des captcha avec une Requête Java
  9. Conclusion

Tester les web-services

  1. Un peu de théorie
  2. Web-services WS-*
  3. Web-services REST (REpresentational State Transfer)
  4. Mise en place avec JMeter
  5. Méthodologie
  6. Mise en pratique avec JMeter
  7. Web-service SOAP/XML-RPC
  8. Web-service REST : Forum de discussion REST
  9. Web-service REST : Customer Database
  10. Conclusion

Tester un serveur de bases de données

  1. Un peu de théorie
  2. Mise en place avec JMeter
  3. Méthodologie
  4. Mise en pratique avec JMeter
  5. Exemple 1 : test de charge d’une base de données
  6. Exemple 2 : Preuve de faisabilité
  7. Exemple 3 : ETL
  8. Conclusion

Tester une messagerie orientée message via JMS

  1. Un peu de théorie
  2. Messages asynchrones
  3. Découplage
  4. Back pressure
  5. Modèles de communication
  6. Composition d’un message
  7. Mise en place avec JMeter
  8. Installation des librairies du MOM
  9. JMS Point-to-Point
  10. Publish/Subscribe
  11. Méthodologie
  12. Mise en pratique avec JMeter
  13. Exemple 1 : Test de la configuration d’un serveur MOM avec du JMS Point à point
  14. Exemple 2 : Tester les performances de notre consumer avec du JMS Publish/Subscribe
  15. Exemple 3 : Test de la configuration d’un serveur MOM avec du JMS Publish/Subscribe
  16. Exemple 4 : Tester n’importe quel MOM
  17. Conclusion

Exécuter un test de charge

  1. Introduction
  2. Méthodologie
  3. Tester son script avec l’interface graphique
  4. Exécuter son test en ligne de commande
  5. Exécuter son test en ligne de commande avec Taurus
  6. Exécuter son test à partir d’Apache Ant
  7. Exécuter son test à partir d’Apache Maven
  8. Exécuter son test depuis Jenkins
  9. Bonnes pratiques
  10. Avoir des injecteurs bien préparés
  11. Générer les rapports à la fin du test
  12. Bonne utilisation de l’élément Extracteur Expression régulière
  13. Bonne utilisation des Assertions
  14. Bonne utilisation de JSR223 Sampler
  15. Conclusion

Voir ses résultats

  1. Introduction
  2. Visualiser ses résultats avec un récepteur « tableau »
  3. Le récepteur View Results in Table
  4. Le récepteur Arbre de résultats
  5. Le récepteur Summary Report
  6. Le récepteur Aggregate Report
  7. Visualiser ses résultats avec un récepteur « graphique »
  8. Visualiser ses résultats avec le récepteur Backend Listener
  9. Visualiser ses résultats en fin de tir à l’aide du Report Dashboard
  10. Particularités de la visualisation de ses résultats pour un tir distribué
  11. Configuration du Plan
  12. Configuration du tir
  13. Visualiser ses résultats avec un logiciel tiers
  14. Conclusion

JMeter et DevOps

  1. Introduction
  2. Exemple 1 : Intégration à Jenkins avec Apache Ant
  3. Exemple 2 : Intégration à Jenkins avec Apache Maven
  4. Exemple 3 : Test de non régression de la consommation mémoire avec EJ JProfiler
  5. Exemple 4 : Recherche de fuite mémoire lors d’un test d’endurance avec EJ JProfiler
  6. Exemple 5 : Test de non régression des API Web avec Dynatrace APM
  7. Exemple 6 : Récupération des requêtes SQL exécutées lors d’un test de charge avec YourKit Java Profiler
  8. Exemple 7 : Analyse du fichier de log du Ramasse Miettes (GC) avec GCViewer
  9. Conclusion

L’écosystème d’Apache JMeter

  1. Introduction
  2. Plugin polyvalent
  3. JMeter Plugins
  4. JMeter dans le cloud
  5. BlazeMeter
  6. Tricentis Flood
  7. Redline 13
  8. OctoPerf (anciennement Jellly.IO)
  9. JMeter EC2
  10. DevOps
  11. Aide à la supervision et au diagnostic
  12. Dynatrace APM
  13. Loadosophia.org
  14. D’autres protocoles
  15. UbikLoadPack
  16. DSL (Domain specific language)
  17. Ruby based DSL for JMeter
  18. Conclusion

Get the free sample chapters

Click the buttons to get the free sample in PDF or EPUB, or read the sample online here

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub