Tester les performances de l'infrastructure ELISE et analyse

Des guides, des exemples concrets pour s'y retrouver dans l'installation et l'exploitation de la plateforme "Elise"
#1

Tester les performances de l'infrastructure ELISE et analyse

Messagepar greg59 » 27 Sep 2016, 17:46

Bonjour,
Cet article a pour objet de déterminer les performances d’une l’infrastructure Elise, dans l’objectif de comprendre les éventuelles lenteurs ressenties par les utilisateurs (ou exprimées clairement par des messages de timeout dans Elise).

TestPerformance2.jpg


Le test de performances Archimed :
Nous avons développé un script test-perfs (voir pièce jointe test-perfs.zip).
A quoi sert ce test ?
- Le test doit être lancé sur le serveur Elise installé : Il convient de « dezziper » la pièce jointe, et de double-cliquer sur le fichier « test-perfs.cmd »
- Le test n’utilise aucun composant Archimed (autre que celui qui permet de récupérer les informations techniques de connexion à la base de données) : Il utilise les composants système Microsoft (et Client Oracle si base Oracle) sur lesquels s’appuient les composants Archimed -> Le test étant un script vbscript, vous pouvez le vérifier par vous-même.
- Le test effectue différentes actions (toujours les mêmes) :
o Calculs
o Création d’une table dans la base Elise, insertions de lignes, selects …
o Transferts de fichiers vers le répertoire du stock Elise.
- Le test chronomètre le temps mis pour chaque opération et fourni un fichier CSV de résultat.
- Les résultats du test n’ont pas de sens en soi, ils n’ont de sens qu’en comparaison du même test, lancé sur de nombreuses infrastructures.

Tests en labo pour comparer les résultats :
Pour permettre à nos clients une comparaison, nous avons reproduit en labo la configuration d’un de nos clients qui a bien voulu nous transmettre ses données et son paramétrage.
- La base contient environ 320 000 courriers
- L’organigramme contient 800 services et 2 000 utilisateurs

3 environnements Elise complets ont été installés depuis zéro, puis l’environnement client a été déployé dessus (base SQL, annuaire ad-lds Elise, paramétrage) :
- Config1 : Un serveur virtuel tout en un (elise+sql) avec 2cpu, 4Go de RAM dont les vhd sont sur les disques 15k (en raid) du serveur hôte
- Config2 : Un serveur virtuel tout en un (elise+sql, copie de la VM Config1) avec 2 cpu, 3Go de RAM dont les vhd sont sur un disque externe connecté via un cable usb2 (un ordinateur portable sous Windows 10 avec le rôle hyper-v installé)
- Config3 : Un couple de 2 serveurs virtuels (serveur que elise + serveur que sql, doublons de la Config1 mais un seul cpu chacun sur même serveur physique que Config1)

Nous avons monté la config3 pour la comparer à la config1 et vérifier l’impact du réseau entre les serveurs.
Les config 1 et 3 tournent sur un serveur hôte standard neuf sous Windows 2012 R2, sur lequel nous avons installé le rôle « hyper-v ».

A noter que tous les environnements ont été montés sous Windows 2012 R2, avec SQL Server 2014 et les derniers services pack SQL et mises à jours Windows, avec une version récente d’Elise.

Les performances ressenties lors de l’utilisation d’Elise sur les 3 configs sont très bonnes. Elles restent bonnes mais bien plus faibles sur la Config2 :
- Accès aux bannettes même très volumineuses
- Recherche de courriers
- Ouverture de courriers en lecture et en modification
- Enregistrement d’un courrier
Durant ces tests, l’utilisation du disque du serveur SQL ne monte pas à 100%, et aucun indicateur ne sort des clous.
A noter pour la config2 (disque usb externe) : le serveur virtuel met 15 minutes à démarrer, le disque externe atteint ses limites durant tout le démarrage.

Test-perfs :
Nous avons lancé le test de performances sur les 3 configs, que vous trouverez ci-joint dans résultats-labo.zip pour comparaison :
 l’indicateur des insert/s du test de perfs semble être un très bon indicateur du ressenti final d’un utilisateur Elise : En effet, dans Elise, tout est requête.
- Notre bien piètre config2 : 938 inserts/s
- Notre config1 : 3619 inserts/s
- Notre config3 : 3152 inserts/s

En conclusion :
Si votre serveur Elise semble lent, que les utilisateurs rencontrent des messages d’erreur de timeout ou se plaignent de lenteur dans Elise, les premières actions à envisager sont :
- de lancer le test de performances
- de comparer le résultats à ceux de notre labo qui sont en PJ, en particulier le nombre d’inserts par seconde
- de les transmettre a Archimed s’ils semblent bons, pour analyse plus poussée.

Bien à vous,
Pièces jointes
Resultats-labo.zip
(2.53 Kio) Téléchargé 69 fois
test-perfs.zip
(4.83 Kio) Téléchargé 58 fois
Dernière édition par franck_29 le 03 Oct 2016, 17:25, édité 1 fois.
Raison: Ajout d'une image en vue d'une publication Blog
Avatar de l’utilisateur
greg59
 
Message(s) : 11
Inscription : 06 Oct 2015, 10:09

#2

Re: Tester les performances de l'infrastructure ELISE et ana

Messagepar franck_29 » 03 Oct 2016, 17:29

Grand merci pour cet article qui sera précieux pour ceux qui estiment rencontrer des problèmes de performances.
Article publié dans le blog le 3/10/2016
Pour bien débuter sur le forum : la charte, FAQ, Comment faire ?
Les points essentiels en quelques clics : Notre Blog
Président du club des utilisateurs d'Elise, administrateur de la communauté "Lettre à Elise"
Ancien directeur d'un projet visant à déployer Elise dans une grande organisation
.
Avatar de l’utilisateur
franck_29
Administrateur
Administrateur
 
Message(s) : 256
Inscription : 01 Juin 2015, 12:43
Localisation : France, Paris, Cléder

#3

Re: Tester les performances de l'infrastructure ELISE et ana

Messagepar JP59 » 16 Nov 2016, 10:39

Bonjour,
Merci pour le script de perf.
Je l'ai testé sur mon serveur car nous avons des messages de timeout et le SQL insert 759,5 insert/s est ce insuffisant et si oui comment y remédier ?
Bien à vous
JP
JP59
 
Message(s) : 1
Inscription : 16 Nov 2016, 10:24

#4

Re: Tester les performances de l'infrastructure ELISE et ana

Messagepar isaiddz » 21 Déc 2016, 10:22

Bonjour,
Nous rencontrons de gros problèmes de performances en utilisant le SGBD ORACLE.
Nous obtenons en utilisant l'outil de mesure de perfs d'Archimed les résultats de l'ordre de 300 inserts /s. Ceci est insuffisant !!
Nous avons analysé le script VB de l'outil, nous l'avons expurgé du code VB et on n'a laissé que les requêtes pures SQL. Le résultat est de l'ordre de 1500 inserts /s. L'éditeur nous disait qu'il faut utiliser l'outil de mesure de perfs sans modification.
A ce jour, nous ne savons pas vraiment comment améliorer les performances de notre base de données.
Si vous avez des idées, nous sommes preneurs.
Merci et bonnes fêtes.
Cordialement,
isaiddz
 
Message(s) : 12
Inscription : 05 Juil 2016, 08:53

#5

Re: Tester les performances de l'infrastructure ELISE et ana

Messagepar greg59 » 21 Déc 2016, 10:41

Bonjour,
L'objectif du test est de déterminer la vélocité de l'architecture hors Elise, et sa pertinence n'a de sens que dans la comparaison avec les résultats des autres infras.
Donc, il ne s'agit pas d'effectuer des requêtes de la meilleure façon ou d'obtenir les mêmes résultats avec d'autres requêtes ou directement depuis le serveur, mais il s'agit bien d'effectuer les mêmes requêtes partout et de comparer le temps mis à cette exécution identique, quelques soient les requêtes qui sont lancées.
Le script VB tente de s'approcher de ce que fait Elise :
- Lancer les requêtes depuis le serveur Elise au serveur SQL.
- Passer par mêmes couches systèmes qu'Elise, a savoir les composants Microsoft ADO pour SQL Server ou le client oracle.
Le même (je dis bien le même) script, lancé par de nombreux clients, chacun sur leur infra, permet de comparer les architectures d'accueil Elise en dehors d'Elise
Toute modification du script enlève immédiatement toute possibilité de comparaison des résultats avec les autres résultats.

Ainsi, la modification qui vous a permi d'atteindre 1500 insert/s, aurait également permi a tous les autres de multiplier par 4 ou 5 leurs inserts/s avec la même modification, ce qui n'apporte rien à la comparaison.

Ainsi, seul le résultat du test non modifié reste universel et comparable entre toutes les infra.
Il ne permet pas de déterminer les causes et trouver les solutions, il permet de determiner qu'une architecture d'acceuil d'Elise (serveurs, reseau entre les serveurs, CPU, disques, OS, SGBD) est plus ou moins performante qu'une autre, et ce complètement en dehors des performances d'Elise.
J'espères avoir pu faire avancer le sujet.
Très bonne journée,
Grégoire DELMOND.
Avatar de l’utilisateur
greg59
 
Message(s) : 11
Inscription : 06 Oct 2015, 10:09

#6

Re: Tester les performances de l'infrastructure ELISE et ana

Messagepar A.Anais » 22 Déc 2016, 09:57

Bonjour,
Nous sommes une collectivité locale. Notre base de données ELISE est sur ORACLE et nous rencontrons également des soucis énormes de performances.
Nous souhaitons migrer vers SQLSERVER, mais nous souhaitons avoir au préalable des garanties que nous aurions de meilleures performances.
Pourrions nous svp avoir des retours de la part des membres de la communautés sur les soucis de performances rencontrés avec SQLSERVER ?
Dans l'attente de vos retours, nous vous remercions.
Cordialement,
A.Anais
 
Message(s) : 7
Inscription : 22 Déc 2016, 09:50


Retour vers [TECHNIQUE] Tutoriels et Guides liés à l'installation et à l'exploitation, Vos témoignages

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité

cron