>운영 및 유지보수 >Apache >매우 실용적입니다! 스트레스 테스트 아티팩트 공유: ab 도구

매우 실용적입니다! 스트레스 테스트 아티팩트 공유: ab 도구

青灯夜游
青灯夜游앞으로
2022-05-12 14:38:443381검색

소프트웨어 스트레스 테스트는 모든 중요한 소프트웨어 테스트 노력의 일부인 기본적인 품질 보증 동작입니다. 따라서 스트레스 테스트는 매우 중요합니다. 그렇다면 스트레스 테스트를 어떻게 수행합니까? 이 기사에서는 매우 실용적인 스트레스 테스트 도구인 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:apacheApache24bincd C:apacheApache24bin
即可启动ab

开始测试


输入命令
ab -n 100 -c 10 http://test.com/ 명령을 입력하여 ab

테스트 시작

다음을 입력하세요. command

ab -n 100 -c 10 http://test.com/
여기서 -n은 요청 수를 나타내고, -c는 동시성 수를 나타냅니다.

나머지 명령의 경우, http://apache.jz123.cn/programs/ab.html 을 참고하세요


테스트 결과 분석

위 명령어를 실행하면 테스트 리포트가 나옵니다

    전체 테스트 리포트
이 섹션에는 웹 서버의 정보가 표시됩니다. 서버는 nginx를 사용하고 도메인 이름은 wan.bigertech.com, 포트는 80


    서버 정보
  • 요청한 문서에 대한 관련 정보입니다. 위치는 "/"이고 문서 크기는 338436바이트입니다(http 응답의 본문 길이입니다)


문서 정보

🎜🎜이 섹션에서는 몇 가지 🎜스트레스 테스트의 중요한 지표🎜🎜🎜🎜🎜🎜를 보여줍니다. 중요 지표🎜
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
//平均每秒网络上的流量,可以帮助排除是否存在网络流量过大导致响应时间延长的问题
  • 이 단락은 네트워크에서 보낸 시간의 분석을 나타냅니다


네트워크 소비 시간

  • 이 섹션은 각 요청 처리 시간의 분포입니다. 처리 시간의 50%가 4930ms 이내이고, 처리 시간의 66%가 5008ms 이내입니다... 중요한 것은 처리 시간을 살펴보는 것입니다. 90% .


대응 상황

로그인 문제에 대하여


스트레스 테스트를 하다가 로그인이 필요한 경우가 있는데 어떻게 해야 하나요?
다음 단계를 참고하세요.

  • 계정과 비밀번호로 로그인한 후 개발자 도구를 사용하여 이 세션을 식별하는 쿠키 값(세션 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제