Quelques "tips" pour les tests de charge dans Team Test

Vous savez certainement que les fichiers de test de charge utilisés par Visual Studio sont au format XML. Ce que vous ne savez peut être pas c’est qu’on a la possibilité de paramétrer certains aspects d’un test auquels nous n'avons pas accès graphiquement en modifiant « à la main » ces fichiers, directement dans l’XML.

NB : Pour modifier facilement le contenu XML d’un fichier de LoadTest dans Visual Studio, faire « Clic droit » sur l’élément dans l’explorateur de solutions puis « Open With » > « XML Editor ». Double cliquez sur l’élément dans l’explorateur de solutions pour ré-ouvrez le en mode graphique.

Globalement, un fichier XML de test de charge est structuré de la même manière que ce que l’on retrouve au niveau de l’interface graphique d’édition : en 3 sections (Scénarios, CountersSets, RunConfigurations).

Ce billet est une liste non exhaustive des petites modifications que l’on peut faire, et que je trouve utiles.

1)      Adapter le Thinktime au niveau des scénarios de charge

Lorsque l’on utilise la notion « Thinktime » dans un test de charge, on a 2 modes disponibles :

-          La distribution réelle, pour laquelle les agents vont simuler le temps de réflexion tel qu’il a été enregistré

-          La distribution « normale » pour laquelle on aura un temps de réflexion légèrement varié à chaque requête.

Cette légère variation du mode de distribution normale est définie dans le fichier de description XML. On retrouvera donc un nœud ThinkProfile dans lequel on va pouvoir modifier le maximum de variation qu’on pourra avoir sur chaque thinktime enregistré.

<ThinkProfile Value="0.2" Pattern="NormalDistribution" />

Par défaut la valeur est de 0.2 secondes, a vous de le modifier selon vos besoins.

2)      Ajouter un nouveau type de navigateur

Qu’est ce qu’un type de navigateur à simuler ? Tout simplement un ensemble de variables d’entête http à envoyer au serveur.

Si on s’intéresse à celle d’Internet Explorer 7, on peut voir ceci :

<BrowserProfile Percentage="100">

<Browser Name="Internet Explorer 7.0">

<Headers>

<Header Name="User-Agent" Value="Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" />

<Header Name="Accept" Value="*/*" />

<Header Name="Accept-Language" Value="{{$IEAcceptLanguage}}" />

<Header Name="Accept-Encoding" Value="GZIP" />

</Headers>

</Browser>

</BrowserProfile>

On peut donc très facilement personnaliser un type de navigateur en simulant un Internet Explorer 7 qui n’accepterait que le français en langage. La variable de contexte {{$IEAcceptLanguage}} est liée automatiquement à la configuration de votre navigateur local. On peut donc très bien imaginer modifier ceci et saisir en dur ce que l’on veut :

<Header Name="Accept-Language" Value="fr-FR" />

 

On peut bien entendu imaginer tout autre type de modification, voir l’ajout d’un type de navigateur non proposé par défaut.

3)      Ajouter un nouveau type de réseau

De la même manière que dans le cas du type de navigateur simulé, le type de réseau est modifiable directement via le fichier XML.

Qu’est-ce qu’un type de réseau ? Tout simplement une vitesse de transfert.

<NetworkProfile Percentage="100">

<Network Name="LAN" BandwidthInKbps="0" />

</NetworkProfile>

On remarque ici que 0 signifie illimité. On peut donc très facilement modifier cette valeur pour obtenir exactement le débit que l’on veut simuler.

4)      Sauvegarder un set de compteurs

Une opération récurrente et assez rébarbative lorsque l’on effectue des tests de charge est de créer les sets de compteurs que l’on va vouloir suivre tout au long du test. D’autant plus que ces sets sont très souvent les mêmes en fonction du type d’application que l’on charge.

Via l’édition XML pas de problème ! On peut très facilement sauvegarder dans un fichier texte ses sets de compteurs et les réutiliser dans n’importe quel autre test en les copiant directement dans l’XML.

<CounterSet Name="IIS" CounterSetType="IIS">

      <CounterCategories>

        <CounterCategory Name="Network Interface">

          <Counters>

            <Counter Name="Bytes Received/sec" />

            <Counter Name="Bytes Sent/sec" />

          </Counters>

          <Instances>

            <Instance Name="*" />

          </Instances>

        </CounterCategory>

      </CounterCategories>

      <DefaultCountersForAutomaticGraphs>

        <DefaultCounter CategoryName=" Network Interface " CounterName="Available MBytes" InstanceName="" GraphName="" />

      </DefaultCountersForAutomaticGraphs>

    </CounterSet>

On remarque au passage que c’est à cet endroit que sont définis les graphiques par défaut, donc si vous sauvegardez un set de compteurs, vous sauvegardez sa présentation également !

On peut évidemment modifier d’autres paramètres directement dans le fichier XML mais la plupart de ces modifications peuvent également être faites via l’interface graphique.

Une dernière chose : Il existe des templates par défaut qui sont ceux présents lors de la création d’un nouveau test de charge, notamment pour les sets de compteurs et les types de navigateurs/réseaux. Vous pouvez facilement modifier ces templates en modifiant les fichiers contenant les « morceaux » d’XML. Ils sont situés ici : <root>:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Templates\LoadTest dans les répertoires « Browsers », « CounterSets », « Networks ».

En espérant que tout ceci pourra vous être utile ! :-)

.Dispose() ;

 

Publié mardi 1 juillet 2008 11:13 par Etienne Margraff
Classé sous ,
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires


Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01