+ All Categories
Home > Technology > Tsung de 1 à 1 million / Confoo Montréal 2015

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

Date post: 17-Jul-2015
Category:
Upload: rodolphe-quiedeville
View: 306 times
Download: 0 times
Share this document with a friend
106
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
Transcript

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

#mylife

Admin/Sys tendance DevOps depuis 20 ans84000 heures de connections au webNourri au logiciel libre exclusivementContributeur à TsungFormateur auprès de Upstream-UniversityResponsable Performance chez Novapost / PeopleDocConsultant sur les performances des SI(G)

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 2 / 59

Qu’est-ce qu’un test de performance ?

charge, volumétrie donnée

résistance, au desssus des limitesvieillissement, dans 2 mois, dans 5 ansmontée en charge, ouverture des nouveaux marchés

Simulation au plus près du réel des conditions d’exploitation d’unsystème.

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 3 / 59

Qu’est-ce qu’un test de performance ?

charge, volumétrie donnéerésistance, au desssus des limites

vieillissement, dans 2 mois, dans 5 ansmontée en charge, ouverture des nouveaux marchés

Simulation au plus près du réel des conditions d’exploitation d’unsystème.

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 3 / 59

Qu’est-ce qu’un test de performance ?

charge, volumétrie donnéerésistance, au desssus des limitesvieillissement, 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’unsystème.

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 3 / 59

Qu’est-ce qu’un test de performance ?

charge, volumétrie donnéerésistance, au desssus des limitesvieillissement, dans 2 mois, dans 5 ansmontée en charge, ouverture des nouveaux marchés

Simulation au plus près du réel des conditions d’exploitation d’unsystème.

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 3 / 59

Qu’est-ce qu’un test de performance ?

charge, volumétrie donnéerésistance, au desssus des limitesvieillissement, dans 2 mois, dans 5 ansmontée en charge, ouverture des nouveaux marchés

Simulation au plus près du réel des conditions d’exploitation d’unsystème.

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 3 / 59

Ce n’est pas

!= test unitaire

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 4 / 59

Ce n’est pas

!= test unitaire!= test fonctionnel

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 5 / 59

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

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 ; aurisque de pertes de temps et de pertinence dans l’analyse desrésultats.

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 7 / 59

A quoi cela sert-il ?

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 8 / 59

A éviter cela

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 9 / 59

La situation

client mécontent

boss encore pluschef de projet serre les dentssoirée de foutue

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 10 / 59

La situation

client mécontentboss encore plus

chef de projet serre les dentssoirée de foutue

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 10 / 59

La situation

client mécontentboss encore pluschef 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

La situation

client mécontentboss encore pluschef de projet serre les dentssoirée de foutue

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 10 / 59

Mais pourquoi ?

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 11 / 59

Quelle peut être la ou les cause(s) ?

sur consommation de CPUsaturation de mémoiresaturation des iolock sur la base de donnéessaturation lien réseaufilesystem plein...

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 12 / 59

Le site préféré des développeurs ?

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 13 / 59

chez-moi-ca-marche.com

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 14 / 59

Cas d’école

plusieurs dizaines de photos sur la home

images servies par un cgisources des images non maitriséespas de limites sur la taille des imagesresize des images à la voléepas de stockage de l’image retaillée

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 15 / 59

Cas d’école

plusieurs dizaines de photos sur la homeimages servies par un cgi

sources des images non maitriséespas de limites sur la taille des imagesresize des images à la voléepas de stockage de l’image retaillée

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 15 / 59

Cas d’école

plusieurs dizaines de photos sur la homeimages servies par un cgisources des images non maitrisées

pas de limites sur la taille des imagesresize des images à la voléepas de stockage de l’image retaillée

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 15 / 59

Cas d’école

plusieurs dizaines de photos sur la homeimages servies par un cgisources des images non maitriséespas de limites sur la taille des images

resize des images à la voléepas de stockage de l’image retaillée

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 15 / 59

Cas d’école

plusieurs dizaines de photos sur la homeimages servies par un cgisources des images non maitriséespas de limites sur la taille des imagesresize 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

Cas d’école

plusieurs dizaines de photos sur la homeimages servies par un cgisources des images non maitriséespas de limites sur la taille des imagesresize des images à la voléepas de stockage de l’image retaillée

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 15 / 59

503 Service unavalaible

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 16 / 59

chez-moi-ca-marche.com

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 17 / 59

mais pas en prod !

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 18 / 59

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

Cas d’école, le retourSituation : problème de performance sur l’affichage de la homepageen production

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 20 / 59

Cas d’école, le retoursituation : problème de performance sur l’affichage de la homepage enproduction

lecture de logs# grep -c "GET / " access.log

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 21 / 59

Cas d’école, le retoursituation : problème de performance sur l’affichage de la homepage enproduction

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

Cas d’école, le retoursituation : problème de performance sur l’affichage de la homepage enproduction

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

Cas d’école, le retoursituation : problème de performance sur l’affichage de la homepage enproduction

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

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

Chargeons Tsung de nous aideraide-toi, le ciel t’aidera

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 25 / 59

Tsung

début développement en 2001écrit en Erlangpublié sous GNU GPL V2projet Idealx initialement nommé IDX-Tsunamitest de serveur XMPPversion 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

Caractéristiques

multi protocoles

scalablepas d’interface graphiquescenarios XML avec validation XSLextensible par pluginssondes de monitoringmodèle Stochastique avec distribution de Poisson

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 27 / 59

Caractéristiques

multi protocolesscalable

pas d’interface graphiquescenarios XML avec validation XSLextensible par pluginssondes de monitoringmodèle Stochastique avec distribution de Poisson

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 27 / 59

Caractéristiques

multi protocolesscalablepas d’interface graphique

scenarios XML avec validation XSLextensible par pluginssondes de monitoringmodèle Stochastique avec distribution de Poisson

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 27 / 59

Caractéristiques

multi protocolesscalablepas d’interface graphiquescenarios XML avec validation XSL

extensible par pluginssondes de monitoringmodèle Stochastique avec distribution de Poisson

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 27 / 59

Caractéristiques

multi protocolesscalablepas d’interface graphiquescenarios XML avec validation XSLextensible par plugins

sondes de monitoringmodèle Stochastique avec distribution de Poisson

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 27 / 59

Caractéristiques

multi protocolesscalablepas d’interface graphiquescenarios XML avec validation XSLextensible par pluginssondes 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

Caractéristiques

multi protocolesscalablepas d’interface graphiquescenarios XML avec validation XSLextensible par pluginssondes de monitoringmodèle Stochastique avec distribution de Poisson

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 27 / 59

Caractéristiques

multi protocolesscalablepas d’interface graphiquescenarios XML avec validation XSLextensible par pluginssondes de monitoringmodèle Stochastique avec distribution de Poisson

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 28 / 59

Protocoles supportés en 1.5.1

HTTP/HTTPSWebsocketJabber/XMPPWebdavAMQP / MQTT / ZeroMQLDAPMySQLPostgreSQL

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 29 / 59

Principe de fonctionnement

un contrôleur

0 à N injecteursune cibleun scenario

, des scenarii

des jeux de données de test

, pas de dump de production

des logsdes rapports de résultats

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 30 / 59

Principe de fonctionnement

un contrôleur0 à N injecteurs

une cibleun scenario

, des scenarii

des jeux de données de test

, pas de dump de production

des logsdes rapports de résultats

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 30 / 59

Principe de fonctionnement

un contrôleur0 à N injecteursune cible

un scenario

, des scenarii

des jeux de données de test

, pas de dump de production

des logsdes rapports de résultats

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 30 / 59

Principe de fonctionnement

un contrôleur0 à N injecteursune cibleun scenario

, des scenariides jeux de données de test

, pas de dump de production

des logsdes rapports de résultats

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 30 / 59

Principe de fonctionnement

un contrôleur0 à N injecteursune cibleun scenario, des scenarii

des jeux de données de test

, pas de dump de production

des logsdes rapports de résultats

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 30 / 59

Principe de fonctionnement

un contrôleur0 à N injecteursune cibleun scenario, des scenariides jeux de données de test

, pas de dump de productiondes logsdes rapports de résultats

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 30 / 59

Principe de fonctionnement

un contrôleur0 à N injecteursune cibleun scenario, des scenariides jeux de données de test, pas de dump de production

des logsdes rapports de résultats

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 30 / 59

Principe de fonctionnement

un contrôleur0 à N injecteursune cibleun scenario, des scenariides jeux de données de test, pas de dump de productiondes logs

des rapports de résultats

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 30 / 59

Principe de fonctionnement

un contrôleur0 à N injecteursune cibleun scenario, des scenariides jeux de données de test, pas de dump de productiondes logsdes rapports de résultats

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 30 / 59

Action !

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 31 / 59

Installation

apt-get install tsungyum install tsung...git clone && ./configure && make installmake deb rpm

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 32 / 59

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

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

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

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 unlien ssh monté automatiquement

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 35 / 59

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 unlien ssh monté automatiquement

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 35 / 59

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 unlien ssh monté automatiquement

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 35 / 59

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

Scenario

Création du scenario

En mode proxy$ tsung-recorder startStarting 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

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

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

Les résultats

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 40 / 59

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 41 / 59

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 42 / 59

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 43 / 59

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 44 / 59

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 45 / 59

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 46 / 59

Fonctions avancées

gestion des cookies automatique

thinktime aléatoireboucles et sections conditionnellesanalyse du résultatvariables dynamiquesdonnées aléatoiresextension par modules erlang...

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 47 / 59

Fonctions avancées

gestion des cookies automatiquethinktime aléatoire

boucles et sections conditionnellesanalyse du résultatvariables dynamiquesdonnées aléatoiresextension par modules erlang...

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 47 / 59

Fonctions avancées

gestion des cookies automatiquethinktime aléatoireboucles et sections conditionnelles

analyse du résultatvariables dynamiquesdonnées aléatoiresextension par modules erlang...

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 47 / 59

Fonctions avancées

gestion des cookies automatiquethinktime aléatoireboucles et sections conditionnellesanalyse du résultat

variables dynamiquesdonnées aléatoiresextension par modules erlang...

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 47 / 59

Fonctions avancées

gestion des cookies automatiquethinktime aléatoireboucles et sections conditionnellesanalyse du résultatvariables dynamiques

données aléatoiresextension par modules erlang...

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 47 / 59

Fonctions avancées

gestion des cookies automatiquethinktime aléatoireboucles et sections conditionnellesanalyse du résultatvariables dynamiquesdonnées aléatoires

extension par modules erlang...

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 47 / 59

Fonctions avancées

gestion des cookies automatiquethinktime aléatoireboucles et sections conditionnellesanalyse du résultatvariables dynamiquesdonnées aléatoiresextension par modules erlang

...

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 47 / 59

Fonctions avancées

gestion des cookies automatiquethinktime aléatoireboucles et sections conditionnellesanalyse du résultatvariables dynamiquesdonnées aléatoiresextension par modules erlang...

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 47 / 59

match

L’élément match permet de déclencher une action suivant le contenudu 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

dyn_variable

Les variables dynamiques sont initialisées par lecture du résultat d’uneaction 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

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

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

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 52 / 59

Cas concret

jeu télévisé allemand avec retour des téléspectateurs30 millions de joueurs avec une action toutes les 10 secondes

fail à 85000 requêtes par secondestest poussé à 330 000/sec ce qui équivaut à 1Millions de joueursplateforme EC2 avec 50 nodes, 800 core, 1.5TB de RAM1,213,583,187 requests, soit 50Gbitstaux 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

Cas concret

jeu télévisé allemand avec retour des téléspectateurs30 millions de joueurs avec une action toutes les 10 secondesfail à 85000 requêtes par secondes

test poussé à 330 000/sec ce qui équivaut à 1Millions de joueursplateforme EC2 avec 50 nodes, 800 core, 1.5TB de RAM1,213,583,187 requests, soit 50Gbitstaux 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

Cas concret

jeu télévisé allemand avec retour des téléspectateurs30 millions de joueurs avec une action toutes les 10 secondesfail à 85000 requêtes par secondestest poussé à 330 000/sec ce qui équivaut à 1Millions de joueurs

plateforme EC2 avec 50 nodes, 800 core, 1.5TB de RAM1,213,583,187 requests, soit 50Gbitstaux 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

Cas concret

jeu télévisé allemand avec retour des téléspectateurs30 millions de joueurs avec une action toutes les 10 secondesfail à 85000 requêtes par secondestest poussé à 330 000/sec ce qui équivaut à 1Millions de joueursplateforme EC2 avec 50 nodes, 800 core, 1.5TB de RAM

1,213,583,187 requests, soit 50Gbitstaux 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

Cas concret

jeu télévisé allemand avec retour des téléspectateurs30 millions de joueurs avec une action toutes les 10 secondesfail à 85000 requêtes par secondestest poussé à 330 000/sec ce qui équivaut à 1Millions de joueursplateforme EC2 avec 50 nodes, 800 core, 1.5TB de RAM1,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

Cas concret

jeu télévisé allemand avec retour des téléspectateurs30 millions de joueurs avec une action toutes les 10 secondesfail à 85000 requêtes par secondestest poussé à 330 000/sec ce qui équivaut à 1Millions de joueursplateforme EC2 avec 50 nodes, 800 core, 1.5TB de RAM1,213,583,187 requests, soit 50Gbitstaux 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

Quelques conseils

commencez au plus tôt la rédaction des scénarios

créez vos données de test avec l’outil de testarchitecture de pre-prod au plus près de la prodle dernier test pour la route en prod

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 54 / 59

Quelques conseils

commencez au plus tôt la rédaction des scénarioscréez vos données de test avec l’outil de test

architecture de pre-prod au plus près de la prodle dernier test pour la route en prod

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 54 / 59

Quelques conseils

commencez au plus tôt la rédaction des scénarioscréez vos données de test avec l’outil de testarchitecture 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

Quelques conseils

commencez au plus tôt la rédaction des scénarioscréez vos données de test avec l’outil de testarchitecture de pre-prod au plus près de la prodle dernier test pour la route en prod

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 54 / 59

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 #tsungML, 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

Pardon, j’ai menti

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 56 / 59

Tsung ne supporte pas 1 million d’utilisateurs

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 57 / 59

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

mais 10 millions75 noeuds

> 1 million requêtes/secondes

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 58 / 59

mais 10 millions75 noeuds

> 1 million requêtes/secondes

Rodolphe Quiédeville (Novapost) de 1 à 1 million avec Tsung 19 février 2015 58 / 59

Questions ?

Rodolphe Quiédeville

[email protected]

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


Recommended