Maison  >  Article  >  Opération et maintenance  >  Hyper pratique ! Partager un artefact de test de stress : outil ab

Hyper pratique ! Partager un artefact de test de stress : outil ab

青灯夜游
青灯夜游avant
2022-05-12 14:38:443164parcourir

Les tests de résistance logiciels sont un comportement d'assurance qualité de base qui fait partie de tout effort important de test de logiciels. Par conséquent, les tests de résistance sont très importants, alors comment effectuer des tests de résistance ? Dans cet article, je vais partager avec vous un outil de test de stress super pratique - l'outil ab (banc Apache). J'espère qu'il vous sera utile !

Tutoriels vidéo recommandés : "Des millions de solutions de simultanéité de données (théorie + pratique)"

Écrit devant


Avant d'apprendre les outils ab, nous devons comprendre quelques choses sur la pression. Le concept de tests

  • Taux de débit (Requêtes par seconde)
    Concept : une description quantitative des capacités de traitement simultané du serveur, l'unité est reqs/s, qui fait référence au nombre de requêtes traitées par unité de temps sous un certain nombre d'utilisateurs simultanés. Le nombre maximum de requêtes pouvant être traitées par unité de temps sous un certain nombre d'utilisateurs simultanés est appelé débit maximum.
    Formule de calcul : Total des requêtes / Temps passé à traiter ces requêtes, soit
    Requête par seconde = Requêtes complètes / Temps mis aux tests

  • Le nombre de connexions simultanées (Le nombre de connexions simultanées)
    Concept : Le Le nombre de requêtes acceptées par le serveur à un certain moment est, en termes simples, une session.

  • Le nombre d'utilisateurs simultanés (Niveau de concurrence)
    Concept : Faites attention à la différence entre ce concept et le nombre de connexions simultanées. Un utilisateur peut avoir plusieurs sessions en même temps, c'est-à-dire le nombre de. connexions.

  • Temps d'attente moyen des requêtes par utilisateur (Durée par requête)
    Formule de calcul : Temps passé à traiter toutes les requêtes / (Nombre total de requêtes / Nombre d'utilisateurs simultanés), soit
    Temps par requête = Temps pris pour tests / (Requêtes complètes / Niveau de concurrence)

  • Temps d'attente moyen des requêtes du serveur (Durée par requête : sur toutes les requêtes simultanées)
    Formule de calcul : Le temps nécessaire pour terminer toutes les requêtes / Le nombre total de requêtes, cela c'est-à-dire
    Temps nécessaire pour / testsRequêtes complètes
    Comme vous pouvez le voir, c'est l'inverse du débit.
    En même temps, cela = temps d'attente moyen des demandes d'utilisateurs/nombre d'utilisateurs simultanés, c'est-à-dire
    Temps par demande / Niveau de concurrence

introduction à l'outil ab


Le nom complet de ab est : apache bench

  • L'explication sur le site officiel est la suivante :

ab est un outil de test de performances pour Apache Hypertext Transfer Protocol (HTTP). Son intention de conception est de décrire les performances d'exécution d'Apache actuellement installé, principalement pour montrer le nombre de requêtes par seconde que votre Apache installé peut gérer.

  • Explication provenant d'autres sites Web :

ab est le propre outil de test de stress d'Apache. ab est très pratique. Il peut non seulement effectuer des tests de stress d'accès au site Web sur le serveur Apache, mais également effectuer des tests de stress sur d'autres types de serveurs. Tels que nginx, Tomcat, IIS, etc.

Téléchargez l'outil ab


Entrez sur le site officiel d'Apache http://httpd.apache.org/ Téléchargez apache

Démarrez l'outil ab


Utilisez le chemin d'installation d'Apache dans l'environnement Windows Prenez C:apacheApache24 comme exemple

Ouvrez le terminal et entrez la commande
cd C:apacheApache24bincd C:apacheApache24bin
即可启动ab

开始测试


输入命令
ab -n 100 -c 10 http://test.com/ pour démarrer ab

Démarrer les tests

Entrez la commande

ab -n 100 -c 10 http://test.com/
Où -n représente le nombre de requêtes, -c représente le nombre de simultanéités

Pour le reste des commandes, veuillez consulter http://apache.jz123.cn/programs/ab.html


Analyse des résultats du test

Après l'exécution de la commande ci-dessus, le rapport de test sort

    Rapport de test complet
Ceci La section montre les informations du serveur Web. Vous pouvez voir que le serveur utilise nginx, le nom de domaine est wan.bigertech.com, le port est 80


    . Informations sur le serveur
  • Ce paragraphe contient des informations relatives au document demandé. L'emplacement est "/" et la taille du document est de 338436 octets (c'est la longueur du corps de la réponse http)


Informations sur le document

🎜🎜Cette section présente plusieurs 🎜indicateurs importants des tests de résistance🎜🎜🎜🎜🎜🎜 Indicateurs importants 🎜
Concurrency Level: 100
//并发请求数
Time taken for tests: 50.872 seconds
//整个测试持续的时间
Complete requests: 1000
//完成的请求数
Failed requests: 0
//失败的请求数

Total transferred: 13701482 bytes
//整个场景中的网络传输量
HTML transferred: 13197000 bytes
//整个场景中的HTML内容传输量

Requests per second: 19.66 [#/sec] (mean)
//吞吐率,大家最关心的指标之一,相当于 LR 中的每秒事务数,后面括号中的 mean 表示这是一个平均值
Time per request: 5087.180 [ms] (mean)
//用户平均请求等待时间,大家最关心的指标之二,相当于 LR 中的平均事务响应时间,后面括号中的 mean 表示这是一个平均值
Time per request: 50.872 [ms] (mean, across all concurrent requests)
//服务器平均请求处理时间,大家最关心的指标之三

Transfer rate: 263.02 [Kbytes/sec] received
//平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题
  • Ce paragraphe représente la répartition du temps passé sur le réseau


Temps de consommation du réseau

  • Cette section est la répartition du temps de traitement de chaque requête. 50% du temps de traitement est dans les 4930 ms, 66% du temps de traitement est dans les 5008 ms..., l'important est de regarder le temps de traitement. de 90% .


Situation de réponse

À propos des problèmes de connexion


Parfois, les tests de stress nécessitent que les utilisateurs se connectent, que dois-je faire ?
Veuillez vous référer aux étapes suivantes :

  • Après vous être connecté avec votre compte et votre mot de passe, utilisez les outils de développement pour trouver la valeur du cookie (ID de session) qui identifie cette session et notez-la

  • S'il n'y a qu'un seul cookie est utilisé, puis tapez simplement Commande :
    ab -n 100 -C key=value http://test.com/ab -n 100 -C key=value http://test.com/

    如果需要多个Cookie,就直接设Header:
    ab -n 100 -H “Cookie: Key1=Value1; Key2=Value2” http://test.com/

    Si vous avez besoin de plusieurs cookies, définissez simplement l'en-tête directement :
  • ab -n 100 -H "Cookie: Key1=Value1; Key2=Value2" http://test.com/

Résumé


En général, l'outil ab ab est petit et simple, et il est plus rapide de démarrer et d'apprendre. Il peut fournir les indicateurs de performance de base requis, mais il n'y a pas de résultats graphiques et ne peut pas être surveillé. Par conséquent, l'outil ab peut être utilisé pour des tâches d'urgence temporaires et des tests simples.

Le même type d'outils de tests de stress comprend : webbench, siege, http_load, etc. Apprentissage recommandé :

Tutoriel Nginx🎜🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer