Vous êtes sur la page 1sur 11

Maarch

Professional Services
11, bd du Sud Est
92000 Nanterre
Tel : +33 1 47 24 51 59
Fax : +33 1 47 24 54 08
Maarch PS anime le dveloppement dun
produit darchivage open source :

http://www.maarch.fr

Maarch Framework 3
Tests de charge

Maarch Framework 3
Tests de charge

Sommaire
1 APERU..........................................................................................................................................3
2 PROTOCOLE..................................................................................................................................4
2.1 OUTIL DE TEST..................................................................................................................................4
2.2 CONFIGURATION SERVEUR...................................................................................................................4
2.3 CONFIGURATION CLIENT.......................................................................................................................4
2.4 VOLUMTRIE.....................................................................................................................................4
2.5 SCNARIO DE TEST............................................................................................................................4
3 RSULTATS....................................................................................................................................6
3.1 IMPORT DE DOCUMENTS.......................................................................................................................6
3.2 CONSULTATION.................................................................................................................................7
3.2.1 Rsultat gnral..................................................................................................................7
3.2.2 Rsultats pour les pages qui gnrent des requtes SQL..................................................8
4 LIMITES DU TEST.........................................................................................................................10
5 5 ANNEXES.................................................................................................................................11
5.1 5.1 LGENDE...............................................................................................................................11

Maarch PS

Page : 2 / 11
2009 Maarch PS Diffusion interdite sans laccord pralable de Maarch

Maarch Framework 3
Tests de charge

1 APERU
Maarch a eu a sa disposition une machine puissante et une configuration professionnelle pour raliser des
tests de performance ( stress tests ) en consultation et injection de masse.
Les tests sur des machines de dveloppement et ce que nous connaissions de Maarch en production nous
poussaient tre confiants sur lissue de cette exprience, mais il tait toujours intressant dobtenir des
mtriques sur des environnements consquents.
Le client nous a prt cet environnement sur une journe, 3 jours avant la bascule en production dfinitive, et
sur une configuration pr-prod : base charge plus de 100 millions de documents, index positionns,
implmentation Maarch Framework recette.
Nous avions prpar au pralable un scnario de test de charge ( stress test ) en consultation, dont le
protocole est dcrit dans ce document. Par contre, les rsultats sur lingestion de masse sont directement
issus des logs des batchs dingestion aprs mise en production.
Sur les deux fronts, les rsultats sont trs positifs :

Maarch PS

2150 documents la minute en versement de masse avec Maarch AutoImport ;


1.000 utilisateurs simultans en consultation avec 95% des pages affiches en 0,7s

Page : 3 / 11
2009 Maarch PS Diffusion interdite sans laccord pralable de Maarch

Maarch Framework 3
Tests de charge

2 PROTOCOLE
2.1 Outil de test
Merci nos amis de Nuxeo qui ont publi en Open Source loutil Funkload qui nous a permis de lancer ces
tests de charge.

2.2 Configuration serveur

2x Intel Xeon E5420 @ 2.50GHz


8GB RAM
Red Hat Enterprise Linux Server release 5.3 64 bits (Linux kernel 2.6.18, ext3fs)
Apache HTTP Server 2.2.3
ORACLE 10.2.0.4 64 bits
PHP 5.1.6

2.3 Configuration client

Intel Core2 Duo T7300 @ 2.00GHz


2GB RAM
Ubuntu 9.04 (Linux kernel 2.6.28, ext3fs)
Python 2.6.2

2.4 Volumtrie
Les volumtrie en jeu sont les suivantes :

Base charge 100 millions de documents rels appartenant quatre grandes familles :
Contrats
Factures
Courriers
Documents de gestion
Liste de 20.000 n de contrats dans lequel le scnario pioche de faon alatoire
Page de dtails pour un document contenant 15 proprits
En moyenne, une recherche renvoie 100 rsultats (100 documents par contrat)

2.5 Scnario de test


Dans ce protocole nous avons voulu simuler un utilisateur de type gestionnaire traitant des courriers ou des
appels tlphoniques clients. Dans ce but, celui-ci lance des recherches sur linterface pour trouver tous les
documents associs un numro de contrat.
Il clique sur la premire ligne de la liste de rsultat pour afficher la page de proprit, reste au tlphone
pendant quelque temps, puis lance une nouvelle recherche.
On ne demande pas laffichage du contenu du document lui-mme, qui dpend principalement du dbit
rseau.
Maarch PS

Page : 4 / 11
2009 Maarch PS Diffusion interdite sans laccord pralable de Maarch

Maarch Framework 3
Tests de charge
En dtail le script dun test pris unitairement est le suivant :

Maarch PS

Affichage de la page de login


Attente de 20s
Connexion l'application
Rpter 10 fois :
Affichage du formulaire de recherche
Recherche sur n de contrat
Attente de 22s
Affichage de la page de proprit
Attente de 1m et 55s
Dconnexion de l'application

Page : 5 / 11
2009 Maarch PS Diffusion interdite sans laccord pralable de Maarch

Maarch Framework 3
Tests de charge

3 RSULTATS
3.1 Import de documents
Maarch AutoImport a inject en moyenne 2150 documents par minute (130 000 documents par heure) dans
lapplication (base de donnes et DocServer).

Maarch PS

Page : 6 / 11
2009 Maarch PS Diffusion interdite sans laccord pralable de Maarch

Maarch Framework 3
Tests de charge

3.2 Consultation
3.2.1

Rsultat gnral

Nombre de pages charges

CUs SPPS maxSPPS TOTAL SUCCESS ERROR


100

3.543

10.000

1000 35.873 77.000

2126

2126

0.00%

21524

21524

0.00%

Temps de chargement

CUs

MIN

AVG MAX

P10

MED

P90

P95

100 0.025 0.119 1.017 0.027 0.114 0.219 0.261


1000 0.024 0.257 2.310 0.037 0.200 0.532 0.714

Maarch PS

Page : 7 / 11
2009 Maarch PS Diffusion interdite sans laccord pralable de Maarch

Maarch Framework 3
Tests de charge

3.2.2

Rsultats pour les pages qui gnrent des requtes SQL

3.2.2.1 Recherche de document

Nombre de pages charges

CUs TOTAL SUCCESS ERROR


100

402

402

0.00%

1000

4267

4267

0.00%

Temps de chargement

CUs

MIN

AVG MAX

P10

MED

P90

P95

100 0.106 0.166 0.800 0.126 0.151 0.208 0.232


1000 0.111 0.308 1.629 0.152 0.221 0.588 0.782

Maarch PS

Page : 8 / 11
2009 Maarch PS Diffusion interdite sans laccord pralable de Maarch

Maarch Framework 3
Tests de charge

3.2.2.2 Affichage de La fiche dtail

Nombre de pages rcupres

CUs TOTAL SUCCESS ERROR


100

396

396

0.00%

1000

3969

3969

0.00%

Temps de chargement

CUs

MIN

AVG MAX

P10

MED

P90

P95

100 0.141 0.217 1.017 0.175 0.206 0.265 0.290


1000 0.141 0.419 1.784 0.225 0.318 0.755 1.042

Maarch PS

Page : 9 / 11
2009 Maarch PS Diffusion interdite sans laccord pralable de Maarch

Maarch Framework 3
Tests de charge

4 LIMITES DU TEST
Mme si les rsultats sont trs positifs dans l'ensemble, nous n'avons pas pu pousser les tests plus loin et
augmenter encore le nombre d'utilisateurs :

Maarch PS

les caractristiques du client ne permettaient pas l'augmentation du nombre d'utilisateurs concourants


(CPU et RAM insuffisante).
la solution de test choisie ne permet pas de rpartir les utilisateurs muls sur plusieurs postes
clients : la capacit du rseau devient un paramtre bloquant.

Page : 10 / 11
2009 Maarch PS Diffusion interdite sans laccord pralable de Maarch

Maarch Framework 3
Tests de charge

5 ANNEXES
5.1 Lgende

Maarch PS

CUs: Concurrent users or number of concurrent threads executing tests.


Page: a request with redirects and ressource links (image, css, js) for an html page.
SPPS: Successful pages per second.
maxSPPS: Maximum SPPS during the cycle.
MIN: Minimum response time for a page or request.
AVG: Average response time for a page or request.
MAX: Maximmum response time for a page or request.
P10: Percentil 10 or response time where 10 percent of pages or requests are delivred.
MED: Median or Percentil 50, response time where half of pages or requests are delivred.
P90: Percentil 90 or response time where 90 percent of pages or requests are delivred.
P95: Percentil 95 or response time where 95 percent of pages or requests are delivred.

Page : 11 / 11
2009 Maarch PS Diffusion interdite sans laccord pralable de Maarch