<-
Apache > Serveur HTTP > Documentation > Version 2.4 > Programmes

ab - L'outil de test des performances du serveur HTTP Apache

Langues Disponibles:  en  |  fr  |  ko  |  tr 

ab est un utilitaire qui vous permet de tester les performances de votre serveur HTTP Apache. Il a �t� con�u pour vous donner une id�e du degr� de performances de votre installation d'Apache. Il vous permet en particulier de d�terminer le nombre de r�qu�tes que votre installation d'Apache est capable de servir par seconde.

Voir aussi

top

Syntaxe

ab [ -A nom-utilisateur:mot-de-passe ] [ -b taille-tampon ] [ -B adresse-locale ] [ -c simultan�it� ] [ -C nom-cookie=valeur ] [ -d ] [ -e fichier-csv ] [ -f protocole ] [ -g fichier-gnuplot ] [ -h ] [ -H en-t�te-personnalis� ] [ -i ] [ -k ] [ -l ] [ -m HTTP-method ] [ -n requ�tes ] [ -p fichier-POST ] [ -P nom-utilisateur-mandataire:mot-de-passe ] [ -q ] [ -r ] [ -s timeout ] [ -S ] [ -t limite-de-dur�e ] [ -T type-de-contenu ] [ -u fichier PUT ] [ -v verbosit�] [ -V ] [ -w ] [ -x <table>-attributs ] [ -X mandataire[:port] ] [ -y <tr>-attributs ] [ -z <td>-attributs ] [ -Z algorithme-chiffrement ] [http[s]://]nom-serveur[:port]/chemin

top

Options

-A nom-utilisateur:mot-de-passe
Fournit le support d'une authentification de base vers le serveur. Les nom-utilisateur et mot-de-passe sont s�par�s par un seul caract�re : et transmis sous forme cod�e base64. La cha�ne est envoy�e que le serveur en ait besoin ou non (qu'il ait renvoy� un code "401 authentication needed" ou non).
-b taille-tampon
Taille du tampon d'�mission/r�ception TCP, en octets.
-B adresse-locale
Adresse � laquelle se rattacher lors des connexions sortantes.
-c simultan�it�
Nombre de requ�tes � effectuer simultan�ment. Par d�faut, une seule requ�te est effectu�e � la fois.
-C nom-cookie=valeur
Ajoute une ligne Cookie: � la requ�te. L'argument se pr�sente en g�n�ral sous la forme d'une paire nom=valeur. Ce champ peut �tre r�p�t�.
-d
N'affiche pas le "pourcentage servi dans la table XX [ms]". (support de l'h�ritage).
-e fichier-csv
Enregistre des valeurs s�par�es par des virgules (CSV) dans un fichier, indiquant pour chaque pourcentage (de 1% � 100 %), le temps (en millisecondes) mis pour servir ce pourcentage de requ�tes. Ce fichier est en g�n�ral plus utile qu'un fichier 'gnuplot', car les r�sultats sont d�j� sous forme binaire.
-f protocole
Sp�cifie le protocole SSL/TLS (SSL2, SSL3, TLS1, TLS1.1, TLS1.2, or ALL). TLS1.1 et TLS1.2 sont support�s � partir de la version 2.4.4 du serveur HTTP Apache.
-g fichier-gnuplot
Enregistre toutes les valeurs mesur�es dans un fichier 'gnuplot' ou TSV (valeurs s�par�es par des tabulations). Ce fichier peut �tre facilement import� dans des programmes comme Gnuplot, IDL, Mathematica, Igor ou m�me Excel. La premi�re ligne du fichier contient les noms des valeurs.
-h
Affiche une aide � propos de l'utilisation du programme.
-H en-t�te-personnalis�
Ajoute des en-t�tes suppl�mentaires � la requ�te. L'argument se pr�sente sous la forme d'une ligne d'en-t�te valide, autrement dit une paire champ/valeur s�par�s par un caract�re ':' (par exemple "Accept-Encoding: zip/zop;8bit").
-i
Effectue des requ�tes HEAD plut�t que GET.
-k
Active la fonctionnalit� des connexions HTTP persistantes (KeepAlive), c'est � dire effectue plusieurs requ�tes au cours d'une seule session HTTP. Cette fonctionnalit� est d�sactiv�e par d�faut.
-l
Ne signale pas les erreurs si la taille de la r�ponse n'est pas constante. Cette option peut s'av�rer utile pour les pages dynamiques. Disponible � partir de la version 2.4.7 du serveur HTTP Apache.
-m HTTP-method
M�thode HTTP personnalis�e � utiliser pour les requ�tes. Disponible � partir de la version 2.4.10 du serveur HTTP Apache.
-n requ�tes
Nombre de requ�tes � effectuer au cours du test de performances. Par d�faut, une seule requ�te est effectu�e, ce qui ne permet pas d'obtenir des r�sultats repr�sentatifs.
-p fichier-POST
Fichier contenant les donn�es pour les requ�tes POST. Assurez-vous de sp�cifier aussi le param�tre -T.
-P nom-utilisateur-mandataire:mot-de-passe
Fournit les informations d'authentification basique pour un mandataire en-route. Les nom d'utilisateur et mot de passe sont s�par�s par un simple caract�re : et envoy�s sur le r�seau cod�s en base64. La cha�ne est envoy�e, que le mandataire en ait besoin ou non (qu'il ait renvoy� un code "407 proxy authentication needed" ou non).
-q
Lorsque plus de 150 requ�tes sont trait�es, ab affiche la progression du traitement sur stderr tous les 10% du nombre total ou toutes les 100 requ�tes. Le drapeau -q permet de supprimer ces messages.
-r
Ne s'arr�te pas en cas d'erreur de r�ception du socket.
-s timeout
Temps maximum d'attente en secondes du socket avant de consid�rer le d�lai comme d�pass�. La valeur par d�faut est de 30 secondes. Disponible � partir de la version 2.4.4 du serveur HTTP Apache.
-S
N'affiche ni les valeurs de d�viation standards et m�dianes, ni les messages d'erreur et d'avertissement lorsque les valeurs m�dianes et moyennes sont �gales � une ou deux fois la valeur de d�viation standard. Par d�faut les valeurs mini/moyenne/maxi sont affich�es (support de l'h�ritage).
-t limite-dur�e
Dur�e maximale en secondes du test de performances. Ceci implique un -n 50000 en interne. Utilisez cette option si vous souhaitez tester les performances du serveur pendant une dur�e fix�e � l'avance. Par d�faut, il n'y a pas de limite de dur�e.
-T type-contenu
Valeur de l'en-t�te Content-type � utiliser pour les donn�es POST/PUT, par exemple application/x-www-form-urlencoded. La valeur par d�faut est text/plain.
-u fichier PUT
Fichier contenant des donn�es PUT. Ne pas oublier de sp�cifier aussi -T.
-v verbosit�
D�finit le niveau de verbosit� - les niveaux 4 et sup�rieurs permettent d'afficher des informations � propos des en-t�tes, les niveaux 3 et sup�rieurs les codes de r�ponse (404, 200, etc...), et les niveaux 2 et sup�rieurs les messages d'avertissement et d'information.
-V
Affiche le num�ro de version et s'arr�te.
-w
Affiche les r�sultats dans des tables HTML. La table par d�faut comporte deux colonnes sur fond blanc.
-x <table>-attributs
La cha�ne � utiliser comme attributs pour <table>. Les attributs sont ins�r�s <table ici >.
-X mandataire[:port]
Utilise un serveur mandataire pour les requ�tes.
-y <tr>-attributs
La cha�ne � utiliser comme attributs pour <tr>.
-z <td>-attributs
La cha�ne � utiliser comme attributs pour <td>.
-Z algorithme-chiffrement
Sp�cifie l'algorithme de chiffrement SSL/TLS (Voir les algorithme de chiffrement openssl).
top

Sortie

Vous touverez dans ce qui suit la liste des valeurs retourn�es par ab :

Server Software
La valeur, si elle existe, de l'en-t�te HTTP server renvoy�e dans la premi�re r�ponse r�ussie. Elle comporte tous les caract�res de l'en-t�te jusqu'� ce qu'un caract�re de valeur d�cimale 32 soit rencontr� (le plus souvent un espace ou une fin de ligne).
Server Hostname
Le nom DNS ou l'adresse IP fourni dans la ligne de commande.
Server Port
Le port auquel ab est connect�. Si la ligne de commande ne sp�cifie aucun port, le port par d�faut sera 80 pour http et 443 pour https.
SSL/TLS Protocol
Les param�tres de protocole n�goci�s entre le client et le serveur. Uniquement si SSL est utilis�.
Document Path
L'URI de la requ�te interpr�t� � partir de la cha�ne de la ligne de commande.
Document Length
Il s'agit de la taille en octets du premier document renvoy� avec succ�s. Si la taille du document est modifi�e au cours du test, la r�ponse est consid�r�e comme une erreur.
Concurrency Level
Le nombre de clients simultan�s utilis�s au cours du test.
Time taken for tests
Il s'agit du temps �coul� entre le moment de la premi�re connexion au socket et la r�ception de la derni�re r�ponse.
Complete requests
Le nombre de r�ponses re�ues avec succ�s.
Failed requests
Le nombre de requ�tes consid�r�es comme erron�es. Si ce nombre est diff�rent de 0, une ligne suppl�mentaire indiquera le nombre de requ�tes ayant �chou� suite � un probl�me de connexion, de lecture, de taille de contenu erron�e ou d'exceptions.
Write errors
Le nombre d'erreurs rencontr�es en cours d'�criture (broken pipe).
Non-2xx responses
Le nombre de r�ponses dont le code �tait en dehors de la s�rie 200. Si toutes les r�ponses appartiennent � la s�rie 200, cette ligne est absente.
Keep-Alive requests
Le nombre de connexions promues � l'�tat de connexions persistantes.
Total body sent
Si le test a �t� configur� dans ce sens, il s'agit du nombre total d'octets envoy�s au cours du test. Ce champ est omis si le test ne pr�voyait pas d'envoi de corps.
Total transferred
Le nombre total d'octets re�us du serveur. Ce nombre correspond � peu pr�s au nombre d'octets envoy�s sur la ligne.
HTML transferred
Le nombre total d'octets utiles (contenus) re�us du serveur. Ce nombre n'inclut pas les octets correspondant aux en-t�tes HTTP.
Requests per second
Il s'agit du nombre de requ�tes par seconde. Il correspond au nombre de requ�tes divis� par la dur�e totale du traitement.
Time per request
La dur�e moyenne du traitement d'une requ�te. La premi�re valeur est calcul�e selon la formule concurrency * timetaken * 1000 / done, alors que la seconde valeur est calcul�e selon la formule timetaken * 1000 / done.
Transfer rate
Le taux de transfert calcul� selon la formule totalread / 1024 / timetaken.
top

Bogues

De nombreux tampons de taille fixe sont d�clar�s statiquement. Combin� avec l'interpr�tation poussive des arguments de la ligne de commande, les en-t�tes de r�ponse du serveur et autres entr�es externes, ceci peut vous affecter.

HTTP/1.x n'est pas compl�tement impl�ment� ; seules certaines formes de r�ponses 'attendues' sont accept�es. L'utilisation relativement intense de strstr(3) provoque un affichage en t�te de profil, ce qui peut faire croire � un probl�me de performances ; en d'autres termes, vous mesurez les performances de ab plut�t que celles du serveur.

Langues Disponibles:  en  |  fr  |  ko  |  tr 

top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.