Archive

Posts Tagged ‘load test’

SharePoint & les tests de Charges

26 janvier 2013 3 commentaires

Hi folks ! Dans le post qui suit, je vais vous parler des tests de charge avec Visual Studio 2012 & SharePoint. Noté que les menus sont assez similaires entre VS2010 & VS2012.

Un test de charge peu ce faire de plusieurs manière, en utilisant des scripts PowerShell qui vont charger des listes, bibliothèques, ajout d’utilisateur, etc… en utilisant en parallèle les compteurs de performances de SharePoint 2010, IIS, et SQL. C’est un peu plus long et il est nécessaire de nettoyer toutes nos manipulations par la suite.

Donc nous verrons VS, qui simule des charges.

Création d’un projet de test

Ouvrer Visual Studio et créer un nouveau projet

Sous C#

Sélectionner Test Projects

Puis valider

Enregistrement d’un scénario

Ajouter un Web Performance Test

Internet Explorer va alors s’ouvrir afin de vous permettre d’enregistrer votre session de navigation, c’est le scénario qui sera joué x fois lors de la montée en charge de la plateforme.

Les paramètres dynamiques sont alors détectés automatiquement.

Création d’un modèle de charge

Une fois le scénario réalisé / les scénarios, nous alors créer un modèle de charge représenté par des utilisateurs, des navigateurs, de la bande passante, etc. …

Ajouter un Load Test au projet

L’assistant s’ouvre.

Sélectionner Next.

Définir un nom pour le scénario. Puis Next

NB. : les thinks time sont des temps de pause simulés entre chaque clique de l’utilisateur simulé, qui viennent s’ajouter au think time existant (temps que vous avez mis à passer d’un lien à un autre…)

Ajoutons les utilisateurs, soit de manière constante, l’application à toujours x utilisateurs de connectés.

En étapes, au démarrage, nous chargeons 10 utilisateurs, puis toutes les 10 secondes nous en ajoutons 10 supplémentaires jusqu’à 200 utilisateurs.

Puis Next

Nous allons maintenant ajouter les différents scénarios définis précédemment (Page d’accueil, accès à la recherche, ajout d’un document, etc, …) Puis next.

NB. : Les utilisateurs d’une plateforme n’effectue pas tous les même actions, et n’ont pas tous accès au même contenu, voir au même site, il est donc important de prendre cet aspect en considération lors de la définition de vos tests de charge.

Ainsi nous pouvons ajouter x scénario et définir le ratio d’utilisation de chaque scénario.

Définissez le ratio en ajustant les curseurs.

Puis next,

Nous allons également définir une bande passante, comment les utilisateurs de la plateforme vont-ils se connecter (Lan, 3G, 1,5Mb/s, …) encore une fois vous pouvez ajuster le curseur afin d’être au plus près de la réalité.

Puis Next

Définissez également des différents navigateurs.

Ajouter les compteurs de performances aux différentes machines de votre environnement (pour ma part (1 SQL et 1 Applicatif SharePoint)

Puis Next

Dernière étape, la durée du test.

Cliquer enfin sur terminé.

Création de la base de données SQL

Il est nécessaire de créer la Database LoadTest2010 afin de générer le stockage des résultats et exécuter les tests défini.

C:\Program Files(x86)\Microsoft Visual Studio 11.0\Common 7\IDE\loadtestresultsrepository.sql

Voici le script à exécuter depuis SQL Studio :

Une série de trois autres scripts SQL peut être nécessaire :

Une fois les scripts correspondants exécutés, vous pouvez alors lancer votre Load Test.

Ajout de la base controller

Sélectionner LoadTest / Test dans le ruban, puis Manage Test Controllers…

Sélectionner

Entrer le nom du serveur. Puis sélectionner la base LoadTest2010 créée précédemment via les scripts *.sql. Puis valider par OK


Executer le Test

Exploitation des résultats du Test de charge

Dans VS2012 il existe quatre possibilités d’interprétation des résultats à l’issue de votre test :

  1. Summary

  2. Graphiques

  1. Tables

  2. Détails

Au vu des résultats, pour ma défense, il s’agit d’une VM SharePoint 2010 avec Exchange et le test de charge a été joué pour 300 utilisateurs …. Donc pas trop moche comme niveau de perf je trouve J

Enjoy & Have fun !