CDS
intégration et déploiement Consort pour U GIE IRIS
Les activités de ce centre de service sont :
- le transport et de l’installation des packages de fichier.
- la vérification de l’exploitabilité.
- la supervision et l’exploitation des environnements de recette.
- le déploiement des applicatifs sur les serveurs.
CDS
intégration et déploiement Consort pour U GIE IRIS
Les activités de ce centre de service sont :
- le transport et de l’installation des packages de fichier.
- la vérification de l’exploitabilité.
- la supervision et l’exploitation des environnements de recette.
- le déploiement des applicatifs sur les serveurs.
CDS
intégration et déploiement Consort pour U GIE IRIS
Les activités de ce centre de service sont :
- le transport et de l’installation des packages de fichier.
- la vérification de l’exploitabilité.
- la supervision et l’exploitation des environnements de recette.
- le déploiement des applicatifs sur les serveurs.
CDS
intégration et déploiement Consort pour U GIE IRIS
Les activités de ce centre de service sont :
- le transport et de l’installation des packages de fichier.
- la vérification de l’exploitabilité.
- la supervision et l’exploitation des environnements de recette.
- le déploiement des applicatifs sur les serveurs.
CDS
intégration et déploiement Consort pour U GIE IRIS
Les activités de ce centre de service sont :
- le transport et de l’installation des packages de fichier.
- la vérification de l’exploitabilité.
- la supervision et l’exploitation des environnements de recette.
- le déploiement des applicatifs sur les serveurs.
CDS
intégration et déploiement Consort pour U GIE IRIS
Les activités de ce centre de service sont :
- le transport et de l’installation des packages de fichier.
- la vérification de l’exploitabilité.
- la supervision et l’exploitation des environnements de recette.
- le déploiement des applicatifs sur les serveurs.
CDS
intégration et déploiement Consort pour U GIE IRIS
Les activités de ce centre de service sont :
- le transport et de l’installation des packages de fichier.
- la vérification de l’exploitabilité.
- la supervision et l’exploitation des environnements de recette.
- le déploiement des applicatifs sur les serveurs.
Test de charge
Pour trouver le logiciel le plus adéquat, j'ai fait une veille sur les différents type de logiciel
LoadRunner : client lourd de HP
Performance Center (micro focus): une interface Web apportant des fonctionnalités permettant de travailler en équipe, de programmer des tirs, de centraliser les scripts, scénarios et résultats de tirs via une architecture extensible de serveurs contrôleurs, injecteurs (Cloud ou SI interne), data processeur et Mi listener.
Neoload: logiciel français de la société Neotys, est un produit qui accepte beaucoup de technologies applicatives existantes sur le marché. Il possède des serveurs dans le Cloud et permet donc des tests extranet similaires à de véritables internautes (et plus uniquement à partir du LAN de l'entreprise). Neoload est un client lourd avec licences flottantes dont la création de script est simple car exclusivement graphique.
Gatling: Logiciel Français Open Source de test de charge et de performance pour site et application Web, il utilise les langages Scala (langage propriétaire), Akka et Netty. De plus, d’une version gratuite Open Source, maintenant depuis la création de l’entreprise Gatling Corp, celle-ci vend des licences Propriétaire “entreprise”
(Gatling Frontline). Les scénarios de test de charge sont écrits soit en Scala (langage propriétaire), Java (version 8, 11, 17) et Kotlin selon le choix.
A la fin de chaque test, Gatling génère un rapport HTML, qui représente:
-le nombre d'utilisateurs actifs au cours du temps
-la distribution des temps de réponse
-les centiles des temps de réponse au cours du temps
-le nombre de requêtes par seconde ainsi que le nombre de réponses par seconde
Jmeter: Projet de logiciel libre pour permettre de faire des tests de performance développé par Apache Software Foundation, ce logiciel est écrit à 100% en java.
Il simule le comportement de plusieurs utilisateurs sur un site web avec un scenario, il permet aussi de tester des serveurs ftp, base de données. Les fichiers résultats sont écrits en XML et CSV, ils contiennent les temps de réponses ainsi que le nombre d'utilisateur.
J'ai donc décidé d'essayer deux solutions, Jmeter et Gatling car ils étaient plus maniable, de plus d'avoir de grosse communauté qui permette d'avoir beaucoup de document et de réponse en cas de problème/blocage dans l'utilisation de ces logiciels.
Apache JMeter
-Installation de Jmeter sur un serveur CentOS 8 pour faire des tests de charge de site Web et d'application Web avec des scenarios que j'ai créer en ouvrant Jmeter en version graphique grâce à Xming installé sur Windows 10 qui permet de rediriger l'affichage vers Windows d'une application graphique tournant sur une machine distante. Ainsi qu'une doc pour cette installation.
-Configuration de Jmeter:
On ouvre Jmeter avec PuTTY puis grâce à l'application Xming on redirige l'affichage vers Windows, ce qui permet d'ouvrir des applications graphique alors qu'elles sont installé sur une machine non-graphique
Puis on crée des plans de test avec le recorder de Jmeter en nettoyant les cookies à chaque itération
-Création du certificat:
Le message qu’on reçoit avec le chemin du certificat qui ici est dans /home/JmeterV2/apache-jmeter-5.4.3/bin/ avec comme nom de fichier ApacheJMeterTemporaryRootCA.crt
Donc on importe la clé publique sur sur notre navigateur de recherche ouvert en Xforwarding (Diapo 1-2)
On retrouve la clé publique dans les fichiers (Diapo 3)
Puis on configure les paramètres de connexion(Diapo 4)
-Enregistrement du scénario de test en ouvrant notre navigateur avec lequel on a enregistré le certificat:
On se retrouve donc avec plein de requête
-Filtre de l'enregistreur selon ce qu'on veut filtrer, on choisit les motifs à exclure puis on ajuste pour se retrouver avec plan de test lisse
-Essaie de test de charge sur un serveur hébergeant une copie du site Niwanet:
On sauvegarde le scénario en format .jmx puis on le transfère en sftp sur une autre machine pour effectuer la mise en charge
get remotefile /"chemin"/"nom".jmx
put "nom".jmx
Ensuite on le mets dans le bon dossier ici /home/jmeter/apache-jmeter-5.4.3/bin/templates/"nom".jmx
Puis on lance le test et on nomme un fichier pour recupéré les résultats en format csv /home/jmeter/apache-jmeter-5.4.3/bin/jmeter -n -t /home/jmeter/apache-jmeter-5.4.3/bin/templates/"nom".jmx -l resultats.csv
Gatling
L'objectif de Gatling est de faire des tests de charge/stress sur des sites web pour vérifier ainsi que de s'assurer du maintient du site web en ligne avec une latence soutenable et acceptable en cas de surcharge avec un trafic important de visiteur qui pourrait arrivé comme une sortie d'un nouveau produit, jeu concours ou bien une attaque DDOS (attaque par déni de service pour but de rendre indisponible un service).
Le logiciel Gatling contient un enregistreur de scénario pour créer son propre scénario de test de charge avec son propre chemin qui sera reproduit par les utilisateurs virtuels.
-exemple: (Accueil --> Contact --> à propos --> Connexion -->...)
Les scénarios peuvent être écrit en langage Scala (propriétaire), Java (8, 11 et 17) et Kotlin, mais le plus modulable est le Scala.
-Configuration de Gatling, on vient récupèrer le paquet sur le site de gatling puis comme pour jmeter avec l'aide de putty et Xming on ouvre une fenêtre pour l'enregistreur de gatling
/home/gatling/gatling-charts-highcharts-bundle-3.7.6/bin/recorder.sh
Puis on le configure, choix des filtres, dossier des simulations, format, port d'ecoute ainsi que le proxy qu'on configure comme sur Jmeter
On récupère donc les requêtes pour fournir le fichier de test
-Lancement des tests depuis la machine grâce au fichier de test qu'on vient d'enregistrer, qui se retrouve dans une liste, ce qui nous donne le choix entre plusieurs test
-Interprétation des résultats:
Les résultats du test se trouve dans le dossier result, ils se présentent sous la forme de plusieurs pages html qui se dépende entre elles.
On ouvre une page html via un navigateur avec xming ou en transférant le dossier en sftp sur un poste en graphique.
-Réalisation de montée en charge d'utilisateur virtuel pendant un temps donnée:
Pour être plus précis et faire des tests avec un nombre d’utilisateurs pendant un temps données on peut rajouter du code pour permettre cette opération
Pour ce test on se mettra en langage Scala et non Java car plus facile à configurer de plus puisque gatling a était pendant longtemps seulement en langage Scala, il y aura donc plus d’aide et de documents en cas de problèmes.
dans le fichier scénario en .scala
vim/home/gatling/gatling-charts-highcharts-bundle-3.7.6/user-files/simulations/”nom”.scala
donc au début du code on crée 2 variable NbUsers et myRamp
tandis qu'à la fin du scénario on ajoute le code permettant d’injecter les users pendant un temps donnée.
Enfin pour que cela marche il faut renseigner les valeurs dans la variable $JAVA_OPTS en dehors du code:
JAVA_OPTS="-Dusers=100 -Dramp=180" (100 utilisateurs sur une ramp de 3 minutes)
export JAVA_OPTS=”$JAVA_OPTS” (pour que la valeur soit prise en compte
Résultat:
Test avec 100 000 user pendant 2 minutes:
Sur un serveur avec 1.66go de mémoire + 1go de mémoire swap et un cpu de 2 coeurs
On regarde les stats avec Dstat, ce qui nous intéresse est la 3ème colonne net/total avec comme argument reçu et send et la première avec l’argument user qui est le nombre d’utilisateur en temps réels
Impact sur le serveur avec la supervision zabbix
Compétences
Gérer le patrimoine informatique
-
Recenser et identifier les ressources numériques
-
Exploiter des référentiels, normes et standards adoptés par le prestataire informatique
Mettre à disposition des utilisateurs un service informatique
-
Déployer un service
-
Accompagner les utilisateurs dans la mise en place d’un service