Effectuer des tests de montée en charge avec Tsung (Partie 1 – Installation)

13 fév

Tsung, test de montée en charge

Cet article est la première partie d’un tutoriel en trois phases, consacré à Tsung, un outil de test de montées charge multi-protocoles. Dans cette première partie nous ferons une brève introduction concernant l’outil et les tests de montée en charge, puis nous verrons comment installer Tsung sur une distribution Linux.

Tsung est un outil permettant d’effectuer des tests de montée en charge sur une architecture. Une de ses particularités, est qu’il ne se limite pas au protocole HTTP, mais gère aussi WebDAV, SOAP, PostgreSQL, MySQL ou encore LDAP. Tsung est gratuit, distribué sous licence GPLv2 et dispose d’une documentation relativement claire.

Le principe est relativement simple : l’application va simuler l’arrivée de nombreux utilisateurs sur la plateforme. Le plus de Tsung par rapport à ses concurrent est de pouvoir créer des scénarios d’utilisation (et propose même un utilitaire d’enregistrement de scénario). Cela signifie que l’application ne se contente pas de charger une page à intervalle régulier, mais de simuler la navigation sur la plateforme.

Une fois le test terminé, Tsung nous permettra de générer un rapport contenant une série de graphiques ; l’analyse sera donc relativement simple.

L’utilisation d’utilitaires de montée en charge comme Tsung permet :

  • De connaître la charge qu’une plateforme peut supporter
  • Vérifier que la capacité d’accueil de la plateforme est conforme aux spécifications (et donc aux demandes d’un client par exemple)

Avant d’utiliser cet outil, il est bon de s’assurer de deux choses :

  • Que le réseau est suffisamment dimensionné : en effet un réseau sous dimensionné créera un goulot d’étranglement en amont de notre plateforme.
  • La plateforme doit vous appartenir. Dans le cas contraire, vous devez avoir un accord de l’hébergeur.

Nous allons ici nous intéresser à la mise en place d’un test simple sur une application web. Nous effectuerons les manipulations sous CentOS, les commandes seront donc identiques sous Fedora et Red Hat (RHEL). Pour les autres distributions, seuls les noms des paquets devraient changer ainsi que deux ou trois commandes.

Sommaire du tutoriel

  1. Effectuer des tests de montée en charge avec Tsung (Partie 1 – Installation)
  2. Effectuer des tests de montée en charge avec Tsung (Partie 2 – Configuration)
  3. Effectuer des tests de montée en charge avec Tsung (Partie 3 – Le test)

1 – Installer CentOS

Comme dit précédemment, nous utiliserons CentOS, la version 6.3 minimale. Pour le téléchargement, c’est par ici.

La première étape sera donc l’installation de la distribution.

2 – Ajouter les dépôts additionnels

Nous installons ici les dépôts RPMForge, EPEL et Remi qui nous servirons à installer les paquets requis pour l’installation de Tsung.

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

3 – Mise à jour de la distribution et installation des paquets utiles

Nous allons maintenant mettre à jour la distribution et installer les paquets Man, Locate, Bash-Completion, Make et Wget.

yum update
yum install man mlocate bash-completion make wget

4 – Installer les pré-requis

Nous allons maintenant installer les paquets requis pour l’installation de Tsung. Il s’agit d’Erlang, Perl, Gnuplot ainsi que certains modules de Perl.

yum install erlang perl gnuplot perl-RRD-Simple.noarch perl-Log-Log4perl-RRDs.noarch perl-Template-Toolkit

Nous installerons aussi Firefox car il nous servira pour la visualisation des rapports.

yum --enablerepo=remi install Firefox

5 – Installation de Tsung

Nous allons maintenant passer à l’installation de Tsung à proprement parler. A l’heure de l’écriture de ce guide, Tsung est en version 1.4.2. La dernière version se trouve sur le site officiel.

Pour le téléchargement :

cd /tmp
wget http://tsung.erlang-projects.org/dist/tsung-1.4.2.tar.gz

Ensuite il faut décompresser l’archive et compiler Tsung. Cette dernière opération peut être un peu longue.

tar zxfv  tsung-1.4.2.tar.gz
cd tsung-1.4.2
./configure && make && make install

Partie 2 : La configuration de Tsung

Commentaires clos.