+ All Categories
Home > Technology > Tests de montée en charge avec Tsung

Tests de montée en charge avec Tsung

Date post: 07-Jul-2015
Category:
Upload: rodolphe-quiedeville
View: 130 times
Download: 2 times
Share this document with a friend
Description:
Présentation générale de l'outil de test de montée en charge Tsung aux journées du libre à Lyon en 2008
Popular Tags:
27
Tests de montée en charge avec Tsung Rodolphe Quiédeville 10e Journées Du Logiciel Libre Lyon 17 et 18 octobre 2008 Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 1 / 27
Transcript
Page 1: Tests de montée en charge avec Tsung

Tests de montée en charge avec Tsung

Rodolphe Quiédeville

10e Journées Du Logiciel LibreLyon

17 et 18 octobre 2008

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 1 / 27

Page 2: Tests de montée en charge avec Tsung

Introduction

1 IntroductionBearstechMoi et mon ego

2 TsungPrésentation généraleLe fichier de configuration

3 Les résultats

4 Conclusion

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 2 / 27

Page 3: Tests de montée en charge avec Tsung

Introduction Bearstech

Hébergements à valeurs ajoutésÉvénementiel (SFR, Inrocks, ...)Multiplateforme (PHP, Python, Ruby, ...)

Recherche et développementHackable devicesOpenmokoGreen IT

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 3 / 27

Page 4: Tests de montée en charge avec Tsung

Introduction Moi et mon ego

Administrateur système et réseauxLogiciel libre et uniquement cela depuis 10 ansChez Bearstech depuis 6 moisRelié au net 360 jours par anDebianiste convaincuEmacsien devant l’éternel

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 4 / 27

Page 5: Tests de montée en charge avec Tsung

Tsung Présentation générale

Parlons de Tsung

Projet Libre GPL v27 ansEcrit par Nicolas NiclausseNé chez Idealx (IDX-Tsunami), JabberErlang1.3.0 septembre 2008

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 5 / 27

Page 6: Tests de montée en charge avec Tsung

Tsung Présentation générale

Dans la technique

Multi-protocole (jabber, HTTP, PostgreSQL et MySQL, ...)DistribuéHautes performances (10k users, Gigabit, ...)Support SSLMulti IP par client (passage de load-balancer, ...)Configuration par fichier XMLScénarios dynamiquesRépartition non linéaire

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 6 / 27

Page 7: Tests de montée en charge avec Tsung

Tsung Présentation générale

Coté HTTP

HTTP/1.0 et HTTP/1.1GET, POST, PUT, DELETE et HEADGestion automatique des CookiesSait faire du ’GET If-modified since’WWW-authentication BasicMode Proxy pour enregistrer un scénarioSOAPHTTP server or proxy server load testing.

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 7 / 27

Page 8: Tests de montée en charge avec Tsung

Tsung Le fichier de configuration

Les sections

Les clientsLes serveursLa chargeLes optionsLes sessions

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 8 / 27

Page 9: Tests de montée en charge avec Tsung

Tsung Le fichier de configuration

Les clients

<!-- Client side setup --><clients>

<client host="tsung0" />

</clients>

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 9 / 27

Page 10: Tests de montée en charge avec Tsung

Tsung Le fichier de configuration

Les clients

<!-- Client side setup --><clients>

<client host="ts1" weight="1" maxusers="800"><ip value="10.9.195.12"></ip><ip value="10.9.195.13"></ip></client>

<client host="ts2" weight="3" maxusers="600" cpu="2"><ip value="10.9.195.14"></ip></client>

</clients>

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 10 / 27

Page 11: Tests de montée en charge avec Tsung

Tsung Le fichier de configuration

Les serveursCas simple

<!-- Server side setup --><servers>

<server host="192.168.56.2" port="80" type="tcp"/>

</servers>

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 11 / 27

Page 12: Tests de montée en charge avec Tsung

Tsung Le fichier de configuration

Les serveursRound robin

Round robin intégré dans tsung

<!-- Server side setup --><servers>

<server host="www1" port="80" type="tcp"/><server host="www2" port="80" type="tcp"/><server host="www3" port="80" type="tcp"/>

</servers>

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 12 / 27

Page 13: Tests de montée en charge avec Tsung

Tsung Le fichier de configuration

La chargedéfinition

La définition de la “charge”

phase

duration

unit

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 13 / 27

Page 14: Tests de montée en charge avec Tsung

Tsung Le fichier de configuration

La chargeCharge simple

Charge à phase unique

<load>

<arrivalphase phase="1" duration="60" unit="second">

<users interarrival="10" unit="second"></users>

</arrivalphase>

</load>

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 14 / 27

Page 15: Tests de montée en charge avec Tsung

Tsung Le fichier de configuration

La chargeCharge montante

Charge à phases multiples

<load>

<arrivalphase phase="1" duration="60" unit="second"><users interarrival="10" unit="second"></users></arrivalphase>

<arrivalphase phase="2" duration="60" unit="second"><users interarrival="5" unit="second"></users></arrivalphase>

<arrivalphase phase="3" duration="60" unit="second"><users interarrival="1" unit="second"></users></arrivalphase>

</load>

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 15 / 27

Page 16: Tests de montée en charge avec Tsung

Tsung Le fichier de configuration

Les optionsThinktime

Temps de pause

<options><option name="thinktime" value="3" random="true"

override="false"></option></options>

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 16 / 27

Page 17: Tests de montée en charge avec Tsung

Tsung Le fichier de configuration

Les optionsThinktime

User agent

<options><option type="ts_http" name="user_agent"><user_agent probability="80">Mozilla/5.0 (X11; U;

Linux i686; en-US; rv:1.7.8) Gecko/20050513Galeon/1.3.21</user_agent>

<user_agent probability="20">Mozilla/5.0 (Windows;U; Windows NT 5.2; fr-FR; rv:1.7.8) Gecko/20050511Firefox/1.0.4</user_agent>

</option></options>

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 17 / 27

Page 18: Tests de montée en charge avec Tsung

Tsung Le fichier de configuration

Les sessions

Les sessions (le scénario)

<sessions>

<session name=’read’ probability=’100’ type=’ts_http’><request><http url=’/index.html’ version=’1.1’ method=’GET’ />

</request></session>

</sessions>

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 18 / 27

Page 19: Tests de montée en charge avec Tsung

Tsung Le fichier de configuration

Les sessions

Les transactions

<sessions><session name=’read’ probability=’100’ type=’ts_http’><request><http url=’/index.html’ version=’1.1’ method=’GET’ />

</request><transaction name=’images’><request><http url=’/one.png’ version=’1.1’ method=’GET’ /></request><request><http url=’/two.png’ version=’1.1’ method=’GET’ /></request>

</transaction></session>

</sessions>

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 19 / 27

Page 20: Tests de montée en charge avec Tsung

Tsung Le fichier de configuration

Les fonctions avancéesSubstitution

<request subst="true"><http url=’get.php?’contents=’%%readcsv:user%%&amp;lang=FR’version=’1.1’method=’POST’></http>

</request>

readcsv est un module erlang qui renvoit une chaîne "login=LOGIN"

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 20 / 27

Page 21: Tests de montée en charge avec Tsung

Tsung Le fichier de configuration

Les fonctions avancéesLa boucle for

<for from="1" to="30" incr="1" var="counter"><transaction name="index_request"><request><http url=’/?last_read=1’

version=’1.1’method=’GET’></http>

</request></transaction>

<thinktime value="5"/>

</for>

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 21 / 27

Page 22: Tests de montée en charge avec Tsung

Tsung Le fichier de configuration

Les fonctions avancéesTest du résultat

<request>

<match do="continue" when="match">Welcome !</match><http url=’/login.php’ version=’1.0’ method=’POST’

contents=’username=nic&amp;user_password=sesame’content_type=’application/x-www-form-urlencoded’ >

</request>

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 22 / 27

Page 23: Tests de montée en charge avec Tsung

Les résultats

Log et HTML

log à tous les étages

output complet du traffic

pages htmls avec compteurs

graphs

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 23 / 27

Page 24: Tests de montée en charge avec Tsung

Les résultats

Log et HTML

ALT + F2

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 24 / 27

Page 25: Tests de montée en charge avec Tsung

Conclusion

Ce n’est qu’un début

Juste un aperçu

Réelle modularité (MySQL)

Grande réactivité de Nicolas

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 25 / 27

Page 26: Tests de montée en charge avec Tsung

Conclusion

What else ?

Les autres outils libres

ab

httperf

Siege

Using free software for HTTP load testing By Leslie P. Polzer on August 12,2008http://www.linux.com/feature/143896

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 26 / 27

Page 27: Tests de montée en charge avec Tsung

Conclusion

Contact

Merci

Questions ?

Rodolphe Quiédeville

[email protected]://www.bearstech.com/

Rodolphe Quiédeville (Bearstech) Tests de montée en charge avec Tsung 17 et 18 octobre 2008 27 / 27


Recommended