|
AB 명령 원칙 Apache의 ab 명령어는 서버 부하 압력과 nginx, lighthttp, IIS와 같은 다른 웹 서버를 테스트하기 위해 다중 스레드 동시 요청을 시뮬레이션합니다. Apache附带的ab工具(使用的PHP环境是WAMP集成环境,ab工具位于D:wampinapacheApache2.2.21in)非常容易使用。 ab 명령어는 부하를 내는 컴퓨터에 대한 요구사항이 매우 낮고, CPU나 메모리를 많이 차지하지 않지만, 대상 서버에 큰 부하를 주므로 일부 DDOS 공격에 필요한 약으로, 모든 연령대에 적합합니다. 직접 사용할 때도 주의해야 합니다. 그렇지 않으면 한 번에 너무 많은 부하가 오면 대상 서버가 메모리 고갈로 인해 바로 다운되어 하드 재시작이 되어, 손실을 감수할 가치가 없습니다. 대역폭이 부족한 경우에는 로컬에서 테스트하는 것이 가장 좋으며, 인트라넷을 통해 테스트할 수 있는 다대 또는 여러 서버를 사용하는 것이 권장됩니다. 그래야 얻은 데이터가 훨씬 더 정확합니다. 웹 서버를 원격으로 스트레스 테스트하는 것은 종종 효과가 없게 됩니다(과도한 네트워크 지연이나 부족한 대역폭 때문입니다) 다운로드 및 설치:
http://mirror.bit.edu.cn/apache//httpd/binaries/win32/?C=M;O=A 찾아httpd-2.2.21-win32-x86-no_ssl.msi 매개변수 문서화:
http://httpd.apache.org/docs/2.2/programs/ab.html
운행: Windows에서는 cmd 명령줄 창을 열고 apache 설치 디렉터리의 bin 디렉터리로 위치를 찾아보세요 cd C:Program Files (x86)Apache Software FoundationApache2.2in 명령어를 입력하세요: AB -N 800 -C 800 http://192.168.0.10/ (-n은 800개의 요청을 수행하고, -c는 800개의 동시성을 시뮬레이션하며, 이는 동시에 800명이 방문하는 것과 같은 테스트 URL입니다) AB -T 60 -C 100 http://192.168.0.10/ 60초 이내에, 한 번에 100개의 요청을 보내세요.
//如果需要在url中带参数,这样做 ab -t 60 -c 100 -T "텍스트/평문" -p p.txt http://192.168.0.10/hello.html p.txt 와 ab.exe 디렉터리에 있습니다 p.txt p=wdp&fq=78 같은 매개변수를 작성할 수 있습니다
결과 매개변수에 대한 설명: 여기는 ApacheBench, 버전 2.3 <$Revision: 655654 $> 저작권 1996 아담 트위스, 제우스 테크놀로지컬 Ltd, http://www.zeustech.net/ 아파치 소프트웨어 재단(The Apache Software Foundation, http://www.apache.org/)에 라이선스됨 벤치마킹 192.168.0.10 (인내심을 가지세요) 100건의 요청 완료 완료된 요청 200건 300건의 요청 완료 400건의 요청 완료 500건의 요청 완료 600건의 요청 완료 700건의 요청 완료 800건의 요청 완료 800건의 요청 완료
서버 소프트웨어: Microsoft-HTTPAPI/2.0은 테스트 중인 웹 서버 소프트웨어의 이름을 나타냅니다 서버 호스트네임: 192.168.0.10 요청 URL의 호스트명을 나타냅니다 서버 포트: 80은 테스트 중인 웹 서버 소프트웨어의 청취 포트를 나타냅니다
문서 경로: /는 요청 URL의 절대 경로 루트를 나타내며, 일반적으로 파일의 접미사 이름으로 요청 유형을 이해할 수 있습니다 문서 길이: 315바이트는 HTTP 응답 데이터의 본문 길이를 나타냅니다 동시성 수준: 800은 동시 사용자 수를 나타내며, 이는 우리가 설정하는 매개변수 중 하나입니다 테스트에 소요되는 시간: 0.914초 이 모든 요청이 처리되는 데 걸리는 시간 완성된 요청: 800건의 완료된 요청 실패한 요청: 0 실패한 요청 수 쓰기 오류: 0 2xx가 아닌 답변: 800 총 전송 거리: 393,600 바이트 총 네트워크 전송 전송된 HTML 전송: 252,000바이트 전송된 HTML 콘텐츠 초당 요청 수: 875.22 [#/초] (평균) 처리량 - 초당 요청 수 요청당 시간: 914.052 [ms] (평균) 서버가 요청에 응답하고 페이지에 응답하는 데 걸리는 시간 요청당 시간: 1.143 [ms] (모든 동시 요청을 통틀어 평균 소요 시간) 동시 요청당 평균 소요 시간 전송 속도: 네트워크에서 초당 평균 수신 트래픽 420.52 [Kbytes/sec]로, 과도한 네트워크 트래픽이 긴 응답 시간을 초래하는 문제를 배제하는 데 도움이 됩니다 네트워크에 소요되는 시간 내역: 연결 시간(ms) 최소 평균 [+/-sd] 중앙값
Connect: 0 1 0.5 1 3
Processing: 245 534 125.2 570 682
Waiting: 11 386 189.1 409 669
Total: 246 535 125.0 571 684
시나리오 전반에 걸친 모든 요청에 대한 응답. 어떤 상황에서는, 각 요청마다 응답 시간이 있습니다 이 사용자 중 50%는 응답 시간이 571밀리초 미만입니다 사용자의 80%는 응답 시간이 652ms 미만입니다 최대 응답 시간은 684ms 미만입니다 일정 시간 내에 처리된 요청의 비율(ms) 50% 571 66% 627 75% 646 80% 652 90% 666 95% 677 98% 681 99% 682 100% 684 (가장 긴 요청) 이 부분은 각 요청 처리 시간의 분포를 설명하는 데 사용됩니다. 예를 들어, 위 테스트에서 요청 처리 시간의 80%가 6ms를 초과하지 않으며, 이 처리 시간은 이전 요청당 시간, 즉 단일 사용자의 평균 처리 시간을 의미합니다.
|