Tsung de 1 à 1 million / Confoo Montréal 2015

738 vues

Publié le

Développer une application scalable aujourd'hui est à la portée de tous, la tester pour lui faire supporter de 1 à 1 millions d'utilisateur est aussi simple, si on utilise Tsung. Après une présentation générale on entrera dans les arcanes des modules Erlang pour développer des tests de peformance riches en fonctionnalités

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
738
Sur SlideShare
0
Issues des intégrations
0
Intégrations
16
Actions
Partages
0
Téléchargements
12
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Tsung de 1 à 1 million / Confoo Montréal 2015

  1. 1. de 1 à 1 million avec Tsung Rodolphe Quiédeville Confoo - Montréal 19 février 2015 Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 1 / 59
  2. 2. #mylife Admin/Sys tendance DevOps depuis 20 ans 84000 heures de connections au web Nourri au logiciel libre exclusivement Contributeur à Tsung Formateur auprès de Upstream-University Responsable Performance chez Novapost / PeopleDoc Consultant sur les performances des SI(G) Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 2 / 59
  3. 3. Qu’est-ce qu’un test de performance ? charge, volumétrie donnée Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 3 / 59
  4. 4. Qu’est-ce qu’un test de performance ? charge, volumétrie donnée résistance, au desssus des limites Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 3 / 59
  5. 5. Qu’est-ce qu’un test de performance ? charge, volumétrie donnée résistance, au desssus des limites vieillissement, dans 2 mois, dans 5 ans Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 3 / 59
  6. 6. Qu’est-ce qu’un test de performance ? charge, volumétrie donnée résistance, au desssus des limites vieillissement, dans 2 mois, dans 5 ans montée en charge, ouverture des nouveaux marchés Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 3 / 59
  7. 7. Qu’est-ce qu’un test de performance ? charge, volumétrie donnée résistance, au desssus des limites vieillissement, dans 2 mois, dans 5 ans montée en charge, ouverture des nouveaux marchés Simulation au plus près du réel des conditions d’exploitation d’un système. Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 3 / 59
  8. 8. Ce n’est pas != test unitaire Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 4 / 59
  9. 9. Ce n’est pas != test unitaire != test fonctionnel Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 5 / 59
  10. 10. Ce n’est pas != test unitaire != test fonctionnel != test de conformité Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 6 / 59
  11. 11. Ce n’est pas != test unitaire != test fonctionnel != test de conformité Ces tests ont été réalisés avant d’effectuer les tests de charge ; au risque de pertes de temps et de pertinence dans l’analyse des résultats. Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 7 / 59
  12. 12. A quoi cela sert-il ? Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 8 / 59
  13. 13. A éviter cela Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 9 / 59
  14. 14. La situation client mécontent Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 10 / 59
  15. 15. La situation client mécontent boss encore plus Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 10 / 59
  16. 16. La situation client mécontent boss encore plus chef de projet serre les dents Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 10 / 59
  17. 17. La situation client mécontent boss encore plus chef de projet serre les dents soirée de foutue Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 10 / 59
  18. 18. Mais pourquoi ? Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 11 / 59
  19. 19. Quelle peut être la ou les cause(s) ? sur consommation de CPU saturation de mémoire saturation des io lock sur la base de données saturation lien réseau filesystem plein ... Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 12 / 59
  20. 20. Le site préféré des développeurs ? Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 13 / 59
  21. 21. chez-moi-ca-marche.com Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 14 / 59
  22. 22. Cas d’école plusieurs dizaines de photos sur la home Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 15 / 59
  23. 23. Cas d’école plusieurs dizaines de photos sur la home images servies par un cgi Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 15 / 59
  24. 24. Cas d’école plusieurs dizaines de photos sur la home images servies par un cgi sources des images non maitrisées Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 15 / 59
  25. 25. Cas d’école plusieurs dizaines de photos sur la home images servies par un cgi sources des images non maitrisées pas de limites sur la taille des images Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 15 / 59
  26. 26. Cas d’école plusieurs dizaines de photos sur la home images servies par un cgi sources des images non maitrisées pas de limites sur la taille des images resize des images à la volée Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 15 / 59
  27. 27. Cas d’école plusieurs dizaines de photos sur la home images servies par un cgi sources des images non maitrisées pas de limites sur la taille des images resize des images à la volée pas de stockage de l’image retaillée Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 15 / 59
  28. 28. 503 Service unavalaible Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 16 / 59
  29. 29. chez-moi-ca-marche.com Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 17 / 59
  30. 30. mais pas en prod ! Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 18 / 59
  31. 31. So 90’s, now the web is 2.0 ! Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 19 / 59
  32. 32. Cas d’école, le retour Situation : problème de performance sur l’affichage de la homepage en production Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 20 / 59
  33. 33. Cas d’école, le retour situation : problème de performance sur l’affichage de la homepage en production lecture de logs # grep -c "GET / " access.log Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 21 / 59
  34. 34. Cas d’école, le retour situation : problème de performance sur l’affichage de la homepage en production lecture de logs # grep -c "GET / " access.log # 23 000 Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 22 / 59
  35. 35. Cas d’école, le retour situation : problème de performance sur l’affichage de la homepage en production lecture de logs # grep -c "GET / " access.log # 23 000 # grep -c "GET /api/v1/foo?format=json" access.log Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 23 / 59
  36. 36. Cas d’école, le retour situation : problème de performance sur l’affichage de la homepage en production lecture de logs # grep -c "GET / " access.log # 23 000 # grep -c "GET /api/v1/foo?format=json" access.log # 300 000 Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 24 / 59
  37. 37. Chargeons Tsung de nous aider Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 25 / 59
  38. 38. Chargeons Tsung de nous aider aide-toi, le ciel t’aidera Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 25 / 59
  39. 39. Tsung début développement en 2001 écrit en Erlang publié sous GNU GPL V2 projet Idealx initialement nommé IDX-Tsunami test de serveur XMPP version 1.5.1 stable, 1.6.0 bientôt Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 26 / 59
  40. 40. Caractéristiques multi protocoles Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 27 / 59
  41. 41. Caractéristiques multi protocoles scalable Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 27 / 59
  42. 42. Caractéristiques multi protocoles scalable pas d’interface graphique Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 27 / 59
  43. 43. Caractéristiques multi protocoles scalable pas d’interface graphique scenarios XML avec validation XSL Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 27 / 59
  44. 44. Caractéristiques multi protocoles scalable pas d’interface graphique scenarios XML avec validation XSL extensible par plugins Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 27 / 59
  45. 45. Caractéristiques multi protocoles scalable pas d’interface graphique scenarios XML avec validation XSL extensible par plugins sondes de monitoring Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 27 / 59
  46. 46. Caractéristiques multi protocoles scalable pas d’interface graphique scenarios XML avec validation XSL extensible par plugins sondes de monitoring modèle Stochastique avec distribution de Poisson Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 27 / 59
  47. 47. Caractéristiques multi protocoles scalable pas d’interface graphique scenarios XML avec validation XSL extensible par plugins sondes de monitoring modèle Stochastique avec distribution de Poisson Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 28 / 59
  48. 48. Protocoles supportés en 1.5.1 HTTP/HTTPS Websocket Jabber/XMPP Webdav AMQP / MQTT / ZeroMQ LDAP MySQL PostgreSQL Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 29 / 59
  49. 49. Principe de fonctionnement un contrôleur Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 30 / 59
  50. 50. Principe de fonctionnement un contrôleur 0 à N injecteurs Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 30 / 59
  51. 51. Principe de fonctionnement un contrôleur 0 à N injecteurs une cible Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 30 / 59
  52. 52. Principe de fonctionnement un contrôleur 0 à N injecteurs une cible un scenario Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 30 / 59
  53. 53. Principe de fonctionnement un contrôleur 0 à N injecteurs une cible un scenario, des scenarii Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 30 / 59
  54. 54. Principe de fonctionnement un contrôleur 0 à N injecteurs une cible un scenario, des scenarii des jeux de données de test Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 30 / 59
  55. 55. Principe de fonctionnement un contrôleur 0 à N injecteurs une cible un scenario, des scenarii des jeux de données de test, pas de dump de production Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 30 / 59
  56. 56. Principe de fonctionnement un contrôleur 0 à N injecteurs une cible un scenario, des scenarii des jeux de données de test, pas de dump de production des logs Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 30 / 59
  57. 57. Principe de fonctionnement un contrôleur 0 à N injecteurs une cible un scenario, des scenarii des jeux de données de test, pas de dump de production des logs des rapports de résultats Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 30 / 59
  58. 58. Action ! Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 31 / 59
  59. 59. Installation apt-get install tsung yum install tsung ... git clone && ./configure && make install make deb rpm Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 32 / 59
  60. 60. Scenario Example <?xml version="1.0"?> <!DOCTYPE tsung SYSTEM "/usr/share/tsung/tsung-1.0.dtd"> <tsung loglevel="debug" dumptraffic="protocol" version="1.0"> <clients /> <servers /> <options /> <load> <arrivalphase /> </load> <sessions> <session> <transaction /> <transaction /> </session> </sessions> </tsung> Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 33 / 59
  61. 61. Scenario La cible Simple <servers> <server host="www.target.fr" port="8080" type="tcp" /> </servers> Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 34 / 59
  62. 62. Scenario La cible Simple <servers> <server host="www.target.fr" port="8080" type="tcp" /> </servers> Complexe <servers> <server host="192.168.0.1" port="80" weight="2" type="tcp" /> <server host="192.168.0.2" port="8080" weight="1" type="tcp" /> <server host="192.168.0.3" port="80" weight="1" type="tcp" /> <server host="192.168.0.4" port="80" weight="1" type="tcp" /> <server host="192.168.0.5" port="80" weight="10" type="tcp" /> </servers> Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 34 / 59
  63. 63. Scenario Les injecteurs Simple <clients> <client host="localhost" use_controller_vm="true"/> </clients> Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 35 / 59
  64. 64. Scenario Les injecteurs Simple <clients> <client host="localhost" use_controller_vm="true"/> </clients> Complexe <clients> <client host="foo" weight="1"> <ip value="10.9.195.12"></ip> <ip value="10.9.195.13"></ip> </client> <client host="bar" weight="2" /> </clients> Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 35 / 59
  65. 65. Scenario Les injecteurs Simple <clients> <client host="localhost" use_controller_vm="true"/> </clients> Complexe <clients> <client host="foo" weight="1"> <ip value="10.9.195.12"></ip> <ip value="10.9.195.13"></ip> </client> <client host="bar" weight="2" /> </clients> Tout le traffic réseau entre le contrôlleur et les injecteurs passe par un lien ssh monté automatiquement Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 35 / 59
  66. 66. Scenario La charge Example <load> <arrivalphase phase="1" duration="10" unit="minute"> <users arrivalrate="1" unit="second"></users> </arrivalphase> <arrivalphase phase="2" duration="60" unit="minute"> <users arrivalrate="10" unit="second"></users> </arrivalphase> </load> Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 36 / 59
  67. 67. Scenario Création du scenario En mode proxy $ tsung-recorder start Starting Tsung recorder on port 8090 "Record file: /home/rodo/.tsung/tsung_recorder20131003-1633.xml" Depuis les logs $ log2tsung.pl Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 37 / 59
  68. 68. Scenario Les requêtes Example <request> <http url="/" method="GET" version="1.1" /> </request> <request> <http url="/api/v1/foo?format=json" method="GET" version="1.1" /> </request> Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 38 / 59
  69. 69. Scenario Sur le contrôleur Exécution $ tsung -f scenario.xml -l logs/ start Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 39 / 59
  70. 70. Les résultats Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 40 / 59
  71. 71. Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 41 / 59
  72. 72. Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 42 / 59
  73. 73. Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 43 / 59
  74. 74. Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 44 / 59
  75. 75. Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 45 / 59
  76. 76. Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 46 / 59
  77. 77. Fonctions avancées gestion des cookies automatique Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 47 / 59
  78. 78. Fonctions avancées gestion des cookies automatique thinktime aléatoire Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 47 / 59
  79. 79. Fonctions avancées gestion des cookies automatique thinktime aléatoire boucles et sections conditionnelles Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 47 / 59
  80. 80. Fonctions avancées gestion des cookies automatique thinktime aléatoire boucles et sections conditionnelles analyse du résultat Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 47 / 59
  81. 81. Fonctions avancées gestion des cookies automatique thinktime aléatoire boucles et sections conditionnelles analyse du résultat variables dynamiques Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 47 / 59
  82. 82. Fonctions avancées gestion des cookies automatique thinktime aléatoire boucles et sections conditionnelles analyse du résultat variables dynamiques données aléatoires Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 47 / 59
  83. 83. Fonctions avancées gestion des cookies automatique thinktime aléatoire boucles et sections conditionnelles analyse du résultat variables dynamiques données aléatoires extension par modules erlang Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 47 / 59
  84. 84. Fonctions avancées gestion des cookies automatique thinktime aléatoire boucles et sections conditionnelles analyse du résultat variables dynamiques données aléatoires extension par modules erlang ... Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 47 / 59
  85. 85. match L’élément match permet de déclencher une action suivant le contenu du résultat de la requête. Example <request> <match do="loop" sleep_loop="5" max_loop="10" when="match">Retry</match> <match do="abort" when="match">Error</match> <http url="/index.php" method="GET"> </request> Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 48 / 59
  86. 86. dyn_variable Les variables dynamiques sont initialisées par lecture du résultat d’une action et peuvent être ré-utilisées dans les actions suivantes. Example <request> <dyn_variable name="nb_page" re="Page d+ on (d+)" /> <http url="/articles" method="GET" version="1.1" ></http> </request> <request subst="true"> <http url="/articles?page=%%_nb_page%%" method="GET" version="1.1" ></http> </request> Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 49 / 59
  87. 87. dyn_variable Lecture d’un fichier JSON Example <request> <dyn_variable name="nb_page" jsonpath="field.array[3].value"/> <http url="/articles" method="GET" version="1.1" ></http> </request> <request subst="true"> <http url="/articles?page=%%_nb_page%%" method="GET" version="1.1" ></http> </request> Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 50 / 59
  88. 88. dyn_variable Utilisation du xpath Example <request> <dyn_variable name="field1_value" xpath="//div[2]/@value"/> <http url="/articles" method="GET" version="1.1" ></http> </request> Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 51 / 59
  89. 89. Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 52 / 59
  90. 90. Cas concret jeu télévisé allemand avec retour des téléspectateurs 30 millions de joueurs avec une action toutes les 10 secondes https://stormforger.com/blog/2014/05/27/load-testing-an-interactive-tv-show-with-over-1-million-users/ Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 53 / 59
  91. 91. Cas concret jeu télévisé allemand avec retour des téléspectateurs 30 millions de joueurs avec une action toutes les 10 secondes fail à 85000 requêtes par secondes https://stormforger.com/blog/2014/05/27/load-testing-an-interactive-tv-show-with-over-1-million-users/ Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 53 / 59
  92. 92. Cas concret jeu télévisé allemand avec retour des téléspectateurs 30 millions de joueurs avec une action toutes les 10 secondes fail à 85000 requêtes par secondes test poussé à 330 000/sec ce qui équivaut à 1Millions de joueurs https://stormforger.com/blog/2014/05/27/load-testing-an-interactive-tv-show-with-over-1-million-users/ Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 53 / 59
  93. 93. Cas concret jeu télévisé allemand avec retour des téléspectateurs 30 millions de joueurs avec une action toutes les 10 secondes fail à 85000 requêtes par secondes test poussé à 330 000/sec ce qui équivaut à 1Millions de joueurs plateforme EC2 avec 50 nodes, 800 core, 1.5TB de RAM https://stormforger.com/blog/2014/05/27/load-testing-an-interactive-tv-show-with-over-1-million-users/ Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 53 / 59
  94. 94. Cas concret jeu télévisé allemand avec retour des téléspectateurs 30 millions de joueurs avec une action toutes les 10 secondes fail à 85000 requêtes par secondes test poussé à 330 000/sec ce qui équivaut à 1Millions de joueurs plateforme EC2 avec 50 nodes, 800 core, 1.5TB de RAM 1,213,583,187 requests, soit 50Gbits https://stormforger.com/blog/2014/05/27/load-testing-an-interactive-tv-show-with-over-1-million-users/ Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 53 / 59
  95. 95. Cas concret jeu télévisé allemand avec retour des téléspectateurs 30 millions de joueurs avec une action toutes les 10 secondes fail à 85000 requêtes par secondes test poussé à 330 000/sec ce qui équivaut à 1Millions de joueurs plateforme EC2 avec 50 nodes, 800 core, 1.5TB de RAM 1,213,583,187 requests, soit 50Gbits taux d’erreur 0.000000216% (1 error every 4,624,616 requests) https://stormforger.com/blog/2014/05/27/load-testing-an-interactive-tv-show-with-over-1-million-users/ Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 53 / 59
  96. 96. Quelques conseils commencez au plus tôt la rédaction des scénarios Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 54 / 59
  97. 97. Quelques conseils commencez au plus tôt la rédaction des scénarios créez vos données de test avec l’outil de test Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 54 / 59
  98. 98. Quelques conseils commencez au plus tôt la rédaction des scénarios créez vos données de test avec l’outil de test architecture de pre-prod au plus près de la prod Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 54 / 59
  99. 99. Quelques conseils commencez au plus tôt la rédaction des scénarios créez vos données de test avec l’outil de test architecture de pre-prod au plus près de la prod le dernier test pour la route en prod Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 54 / 59
  100. 100. Contribuer Docs, https://tsung.readthedocs.org/ Code, https://github.com/processone/tsung/ CI, http: //jenkins.quiedeville.org/view/Tsung/job/Tsung/ Bugtrack, https://support.process-one.net/browse/TSUN Irc, freenode #tsung ML, https://lists.process-one.net/mailman/ listinfo/tsung-users Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 55 / 59
  101. 101. Pardon, j’ai menti Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 56 / 59
  102. 102. Tsung ne supporte pas 1 million d’utilisateurs Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 57 / 59
  103. 103. mais 10 millions Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 58 / 59
  104. 104. mais 10 millions 75 noeuds Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 58 / 59
  105. 105. mais 10 millions 75 noeuds > 1 million requêtes/secondes Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 58 / 59
  106. 106. Questions ? Rodolphe Quiédeville rodolphe.quiedeville@novapost.fr Document publié sous Licence Creative Commons BY-SA 2.0 Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 59 / 59

×