소프트웨어 스트레스 테스트는 모든 중요한 소프트웨어 테스트 노력의 일부인 기본적인 품질 보증 동작입니다. 따라서 스트레스 테스트는 매우 중요합니다. 그렇다면 스트레스 테스트를 어떻게 수행합니까? 이 기사에서는 매우 실용적인 스트레스 테스트 도구인 ab 도구(아파치 벤치)를 공유하겠습니다. 이 도구가 도움이 되기를 바랍니다.
추천 동영상 튜토리얼: "수백만 개의 데이터 동시성 솔루션(이론 + 실무)"
앞서 작성
ab 도구를 배우기 전에 압력에 대한 몇 가지 개념을 이해해야 합니다. of test
처리율(초당 요청 수)
개념: 서버의 동시 처리 능력을 정량적으로 설명하는 단위는 reqs/s이며, 특정 시간 동안 단위 시간당 처리되는 요청 수를 나타냅니다. 동시 사용자 수. 특정 동시 사용자 수에서 단위 시간당 처리할 수 있는 최대 요청 수를 최대 처리 속도라고 합니다.
계산 공식: 총 요청 수 / 이러한 요청을 처리하는 데 소요된 시간, 즉
초당 요청 = 전체 요청 수 / 테스트에 소요된 시간
동시 연결 수(동시 연결 수)
개념: 특정 시간에 서버가 수락하는 요청 수는 간단히 말하면 세션입니다.
동시 사용자 수(동시성 수준)
개념: 이 개념과 동시 연결 수의 차이에 주의하세요. 사용자는 동시에 여러 세션을 가질 수 있습니다. 연결.
사용자 평균 요청 대기 시간(요청당 시간)
계산식: 모든 요청을 처리하는 데 소요된 시간 / (총 요청 수 / 동시 사용자 수), 즉
요청당 시간 = 요청에 걸린 시간 테스트 / (완료 요청 / 동시성 수준)
서버 평균 요청 대기 시간 (요청당 시간: 전체 동시 요청)
계산 공식: 모든 요청을 완료하는 데 걸리는 시간 / 총 요청 수,
요청 완료/테스트에 소요되는 시간
보시다시피 처리량 비율의 역수입니다.
동시에 = 평균 사용자 요청 대기 시간/동시 사용자 수, 즉
요청당 시간/동시성 수준
ab 도구 소개
ab의 전체 이름은 다음과 같습니다. : apache bench
ab는 Apache Hypertext Transfer Protocol(HTTP)의 성능 테스트 도구입니다. 설계 의도는 현재 설치된 Apache의 실행 성능을 묘사하는 것입니다. 주로 설치된 Apache가 처리할 수 있는 초당 요청 수를 보여줍니다.
ab는 Apache의 자체 스트레스 테스트 도구입니다. ab는 매우 실용적입니다. Apache 서버에서 웹사이트 액세스 스트레스 테스트를 수행할 수 있을 뿐만 아니라 다른 유형의 서버에서도 스트레스 테스트를 수행할 수 있습니다. nginx, tomcat, IIS 등과 같은
ab 도구 다운로드
apache 공식 홈페이지 http://httpd.apache.org/에 접속하여 apache를 다운로드
ab 도구 시작
apache 설치 사용 Windows 환경의 경로 C:apacheApache24를 예로 들어
터미널을 열고cd C:apacheApache24bin
cd C:apacheApache24bin
即可启动ab
开始测试
输入命令ab -n 100 -c 10 http://test.com/
명령을 입력하여 ab
다음을 입력하세요. command
ab -n 100 -c 10 http://test.com/
위 명령어를 실행하면 테스트 리포트가 나옵니다
문서 정보
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 //平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题
네트워크 소비 시간
대응 상황
로그인 문제에 대하여
스트레스 테스트를 하다가 로그인이 필요한 경우가 있는데 어떻게 해야 하나요?
다음 단계를 참고하세요.
계정과 비밀번호로 로그인한 후 개발자 도구를 사용하여 이 세션을 식별하는 쿠키 값(세션 ID)을 찾아서 적어주세요
쿠키가 1개인 경우 을 사용하는 경우 다음 명령을 입력하세요.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/
Summary
일반적으로 ab 도구 ab는 다음과 같습니다. 작고 간단하며 시작하고 배우는 것이 더 빠릅니다. 필요한 기본 성과 지표를 제공할 수 있지만 그래픽 결과가 없으며 모니터링할 수 없습니다. 따라서 ab 도구는 임시 긴급 작업 및 간단한 테스트에 사용할 수 있습니다.
동일한 유형의 스트레스 테스트 도구에는 webbench, siege, http_load 등이 포함됩니다.권장 학습:
nginx 튜토리얼위 내용은 매우 실용적입니다! 스트레스 테스트 아티팩트 공유: ab 도구의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!