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
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.
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 commandecd C:apacheApache24bin
cd C:apacheApache24bin
即可启动ab
开始测试
输入命令ab -n 100 -c 10 http://test.com/
pour démarrer ab
Entrez la commande
ab -n 100 -c 10 http://test.com/
Après l'exécution de la commande ci-dessus, le rapport de test sort
Informations sur le document
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 //平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题
Temps de consommation du réseau
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/
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!