Upgrade to Pro — share decks privately, control downloads, hide ads and more …

/dev/var/19 > Méthodologie de tests de charge et performance des sites Web

/dev/var/19 > Méthodologie de tests de charge et performance des sites Web

Fedir RYKHTIK

October 19, 2017
Tweet

More Decks by Fedir RYKHTIK

Other Decks in Technology

Transcript

  1. Méthodologie de tests de charge et performance des sites Web

    Fedir Rykhtik, @FedirFR /dev/var/19, Toulon, 18 Octobre 2017
  2. Test de montée charge (TMC) : • simulation d'un nombre

    d'utilisateurs virtuels prédéfinis, • validation de l'application pour une charge attendue d'utilisateurs, • mise en évidence les points sensibles et critiques de l’architecture technique, • mesure de dimensionnement des serveurs, de la bande passante nécessaire sur le réseau, • optimiser le coût de l'infrastructure
  3. • ICP/KPI ◦ Mémoire consommée ◦ Utilisation de CPU ◦

    Utilisation de la bande passante ◦ Quantité de I/O ◦ Quantité des processus système / services ◦ Nombre de sessions en mémoire ◦ Nombre de requêtes par session ◦ Temps de réponse ◦ Temps d'exécution d’une opération type ◦ Quantité des erreurs HTTP Indicateur clé de performance (ICP) Key performance indicator (KPI)
  4. Organisation de TMC • Dimensionnement et tests des injecteurs •

    Calcul de la bande passante nécessaire • Contrôle de l'application cible • Vérification de fonctionnement de système de monitoring • Lancé des tirs • Contrôle de l'exécution des tirs (monitoring de performance de la cible et des injecteurs) • Tests manuels de comportement de l’application • Collection de statistique à partir des injecteurs et le système cible • Analyse et croisement des données • Création des rapports
  5. Choix de charge • Complexité de plan de test •

    Performance des injecteurs () • Type d'exécution (GUI / ligne de commande) • Distribution des types des utilisateurs virtuels • Distribution des types des requêtes (GET, POST, PUT, DELETE) • Temps de réflexion de l’utilisateur (rapidité d’action) • Prise en compte des appels aux services externes
  6. Choix de type et de quantité des injecteurs • Tests

    des injecteurs • Système de monitoring des performances des injecteurs • Adaptation des ressources des injecteurs • Validation des capacités d’un injecteur
  7. Agile & DevOps • Techno : Intégration dans la chaîne

    de déploiement continu • Techno : Tests de chaque composant de l'infrastructure • Techno : Automatisation de maintenance des test • Techno : Automatisation de la corrélation, le paramétrage et la variabilisation • Techno : Analyse automatique des anomalies, signalés par le système de monitoring • Orga : Accessible à tous les développeurs et testeurs • Orga : Partager des scénarios et les résultats des tests • Orga : Partage des résultats • Orga : Accès à l'historique • Orga : Tester plus tôt • Orga : Analyser plus tôt • Orga : Avertir plus tôt • Orga : Agir plus tôt
  8. Apache JMeter • Application open-source écrite en Java • Par

    la Fondation Apache Software Fundation • Peut fonctionner sur tous les OS classiques • Peut également être utilisée sans interface graphique • HTTP, HTTPS, SOAP, XML-RPC, SMTP, POP3, IMAP, LDAP, FTP, TCP • Contrôle des injecteurs distants • Écosystème, plugins
  9. Ressources • https://fr.wikipedia.org/wiki/Test_de_performance • https://leanpub.com/maitriser-jmeter-du-test-de-charge-a-devops • https://fr.wikipedia.org/wiki/Apache_JMeter • http://blog2dev.blogspot.fr/2013/12/jmeter-tester-la-montee-en-charge-dun.html •

    http://jmeter.apache.org/usermanual/get-started.html • http://www.testautomationguru.com/jmeter-distributed-load-testing-using-docker/ • http://arodrigues.developpez.com/tutoriels/java/performance/plan-test-realiste/ • https://fr.wikipedia.org/wiki/Service-level_agreement • https://www.ibm.com/developerworks/library/wa-webapptesting/ • http://www.softwaretestinghelp.com/web-application-testing/ • https://theseus.fi/bitstream/handle/10024/118673/Web%20Application%20Performance%20Requirements%20Deriving%20 Methodology.pdf?sequence=1 • http://www.testautomationguru.com/jmeter-user-load-distribution-using-throughput-controller/ • https://msdn.microsoft.com/en-us/library/bb924375.aspx • https://technet.microsoft.com/fr-fr/library/dn753717.aspx • https://support.office.com/fr-fr/article/Capacit%C3%A9-de-planification-et-de-charge-test-de-SharePoint-Online-c932bd9b-fb 9a-47ab-a330-6979d03688c0 • https://www.netvigie.com/fr/metriques-loadtest.html • https://blog.octo.com/une-demarche-de-tests-de-performance/ • http://blog.admin-linux.org/administration/test-de-montee-en-charge-benchmark-avec-des-logiciels-libres • https://www.ibisc.univ-evry.fr/~belardinelli/Documents/testlogiciel.pdf • http://www.testautomationguru.com/jmeter-user-load-distribution-using-throughput-controller/ • https://www.blazemeter.com/blog/what%E2%80%99s-the-max-number-of-users-you-can-test-on-jmeter • http://www.dotnetdojo.com/10-outils-de-tests-de-charge-pour-votre-application-web/