이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 10851|회답: 3

Windows Apache ab 웹사이트 스트레스 테스트

[링크 복사]
게시됨 2018. 6. 14. 오전 11:14:30 | | | |
AB는 ApacheBench의 약자입니다.

ab 명령어는 여러 방문자가 동시에 URL 주소에 접근하는 것을 시뮬레이션하기 위해 여러 동시 접근 스레드를 생성합니다. 테스트 대상은 URL 기반이므로, 아파치 부하 부담과 nginx, lighthttp, tomcat, IIS 등 웹 서버 스트레스 모두를 테스트할 수 있습니다.

ab 명령어는 부하를 내는 컴퓨터에 대한 요구사항이 낮고, CPU나 메모리를 많이 차지하지 않습니다. 하지만 대상 서버에 엄청난 부하를 주며, 그 원리는 CC 공격과 유사합니다. 또한 직접 테스트하고 사용하는 데 신경 써야 합니다. 그렇지 않으면 한꺼번에 너무 많은 부하가 생길 수 있습니다. 이로 인해 대상 서버가 자원을 고갈할 수 있고, 심한 경우 크래시까지 발생할 수 있습니다.

1. 아파치 벤치 소개

ApacheBench는 Apache 서버(약칭 ab)에 기본으로 제공되는 웹 스트레스 테스트 도구입니다. AB는 또한 페이로드 시작 시 네이티브 요구가 낮은 명령줄 도구이며, AB 명령어에 따라 여러 방문자가 동시에 특정 URL 주소에 접근하는 것을 시뮬레이션하는 여러 동시 액세스 스레드를 생성할 수 있어 대상 서버의 부하 압력을 테스트하는 데 사용할 수 있습니다. 일반적으로 AB 도구는 작고 단순하며 빠르게 학습할 수 있고 필요한 기본 성과 지표를 제공할 수 있지만, 그래픽 결과는 없으며 모니터링이 불가능합니다.



2. 아파치 벤치 설치

먼저, Apache 서버를 설치하고 주소를 다운로드해야 합니다:하이퍼링크 로그인이 보입니다.

제 컴퓨터는 윈도우 10 64비트 시스템이라 "httpd-2.4.33-win64-VC15.zip"을 다운로드했습니다., 링크:하이퍼링크 로그인이 보입니다.

구버전 ab는 -r 매개변수를 지원하지 않으므로, 최신 버전을 다운로드하는 것이 권장됩니다.

3. 아파치 벤치 사용

매개변수를 이해하세요

매개변수 설명:
형식: ab [옵션] [http://]hostname[:p ort]/경로

-n 요청 수행 요청 수 //이 테스트에서 시작된 총 요청 수
-c 동시성 요청 수 // 한 번에 생성되는 요청(또는 동시성 요청) 수
-최대 시간 제한 초. 응답 대기 //테스트가 기본적으로 수행되는 최대 초 수입니다.
-r 소켓에서 종료하지 마세요, 수신 오류.     테스트 작업을 계속하려면 예외를 던집니다
-p postfile 파일을 POST 파일을 포함 // POST가 필요한 데이터를 포함하는 파일 형식(예: "p1=1&p2=2"). 사용 방법은 -p 111.txt

-T 콘텐츠-타입 POSTing용 콘텐츠-타입 헤더
POST 데이터에 사용되는 Content-type 헤더, 예를 들어 -T "application/x-www-form-urlencoded". (코-P)
-과장한 글 문제 해결 정보를 얼마나 출력해야 할까요?
정보를 표시할 수 있도록 세부 수준을 설정하세요 – 4 이상이면 헤더 정보를 보여주고, 3 이상이면 응답 코드(404, 200 등), 2 이상은 경고 및 기타 정보를 표시합니다. -V는 버전 번호를 표시하고 종료합니다.
-C 속성 쿠키 추가, 예를 들어 -C "c1=1234,c2=2,c3=3" (반복 가능)
-C cookie-name=value 요청: 라인에 쿠키를 추가하세요. 일반적인 형태는 이름=값인 매개변수 쌍입니다. 이 매개변수는 쉼표로 나누어 반복할 수 있습니다.
팁: 세션 구현 원칙을 사용해 세션 유지 기능을 달성하기 위해 JSESSIONID 매개변수를 전달할 수 있습니다. 예를 들어 -C "c1=1234, c2=2, c3=3, JSESSIONID=FF056CD16DA9D71CB131C1D56F0319F8".
-w 출력하면 HTML 테이블 // 출력은 HTML 테이블 형식으로 나옵니다. 기본적으로 흰색 배경에 두 열 너비의 테이블입니다.
-GET 대신 HEAD
-x 속성 String을 테이블 속성으로 삽입할 수 있습니다
-y 속성 tr 속성으로 삽입할 String
-z 속성 td 또는 th 속성으로 삽입할 String
-H 속성 임의의 헤더 라인 추가, 예를 들어 'Accept-Encoding: gzip' 모든 일반 헤더 라인 뒤에 삽입됨. (반복 가능)
- 속성 기본 WWW 인증 추가, 속성
콜론이 분리된 사용자 이름과 비밀번호입니다.
-P 속성 기본 프록시 인증 추가, 속성은 콜론으로 분리된 사용자 이름과 비밀번호입니다.
-X 프록시:포트 프록시서버 및 사용할 포트 번호
-V 버전 번호 인쇄 및 종료
-k HTTP Keep Alive 기능 사용하세요
-d 서브드 백분위수는 표 표시하지 마세요.
-S: 자신감을 보여주지 마세요, 추정치와 경고.
-g 파일명 수집된 데이터를 gnuplot 형식 파일로 출력합니다.
-e 파일명 출력 CSV 파일
-h 사용 정보 표시 (이 메시지)

매개변수는 다양하며, 일반적으로 -c와 -n 매개변수를 사용할 수 있습니다. 예를 들어:


"httpd-2.4.33-win64-VC15.zip"을 압축 해제하고 \Apache24\bin으로 가서 명령어 라인으로 실행하세요, 아래 그림에서 볼 수 있습니다:



SSL이 컴파일되지 않았고; https 지원 없음: SSL이 컴파일되지 않음; https 지원이 없어서 웹사이트가 https를 지원하지 않는다는 뜻입니다.

검사 결과:

C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 https://www.itsvse.com
SSL이 컴파일되지 않았고; https 지원은 없습니다

C:\Users\itsvse_pc\Downloads\httpd-2.4.33-win64-VC15\Apache24\bin>ab -c 10 -n 1000 http://www.itsvse.com/
여기는 ApacheBench, 버전 2.3 <$Revision: 1826891 $>
저작권 1996 아담 트위스, 제우스 테크놀로지 주식회사,하이퍼링크 로그인이 보입니다.
Apache Software Foundation에 라이선스됨,하이퍼링크 로그인이 보입니다.

벤치마킹www.itsvse.com(참아라)
100건의 요청 완료
완료된 요청 200건
300건의 요청 완료
400건의 요청 완료
500건의 요청 완료
600건의 요청 완료
700건의 요청 완료
800건의 요청 완료
900건의 요청 완료
완료된 1000건의 요청
1000건의 요청을 완료했습니다


서버 소프트웨어:
서버 호스트네임:        www.itsvse.com
서버 포트: 80

문서 경로: /
문서 길이: 178바이트

동시성 수준: 10
검사 소요 시간: 44.916초
전체 요청: 1000건
실패 요청: 0
2xx가 아닌 답변: 1000
총 전송 횟수: 349000바이트
HTML 전송: 178000바이트
초당 요청 수: 22.26 [#/초] (평균)
요청당 시간: 449.164 [ms] (평균)
요청당 시간: 44.916 [ms] (모든 동시 요청을 합치한 평균)
전송 속도: 수신 7.59 [Kbytes/sec]

연결 시간 (ms)
              최소 평균[+/-SD] 중앙값 최대값
Connect:       32   45  60.1     37    1439
Processing:    35  401 185.6    356    1795
Waiting:       34  245 199.6    228    1791
Total:         69  446 195.4    397    1830

일정 시간 내에 처리된 요청의 비율(ms)
  50%    397
  66%    415
  75%    439
  80%    461
  90%    535
  95%    623
  98%   1563
  99%   1784
100% 1830 (가장 긴 요청)

매개변수 분석:

문서 경로: 테스트 페이지
문서 길이: 페이지 크기
동시성 수준: 동시성 테스트된 동시성 횟수입니다
시험 소요 시간: 전체 시험 시간
완료 요청: 완료된 요청 수입니다
실패한 요청: 실패한 요청의 수입니다
쓰기 오류: 0
총 전송: 과정 전반에 걸쳐 전송된 네트워크의 양
전송된 HTML 전송: 과정 전반에 걸쳐 전송된 HTML 콘텐츠의 양
초당 요청: LR에서 초당 거래량과 동등한 가장 중요한 지표 중 하나이며, 괄호 안의 평균은 이것이 평균임을 나타냅니다
요청당 시간: LR의 평균 트랜잭션 응답 시간과 같은 두 가지 가장 중요한 지표는 괄호 안에서 평균 평균임을 나타냅니다
요청당 시간: 각 연결 요청의 실제 실행 시간의 평균값
전송 속도: 네트워크 내 초당 평균 트래픽으로, 과도한 네트워크 트래픽이 긴 응답 시간을 유발하는 문제를 배제하는 데 도움이 됩니다





이전의:Linq to Entity에서 Lambda 표현식을 사용해 Left Join과 Join 기능을 구현하세요
다음:asp.net mvc 경로 경로 매핑 .html 접미사
 집주인| 게시됨 2018. 6. 14. 오전 11:16:33 |
 집주인| 게시됨 2019. 5. 27. 오전 9:17:09 |
AB -n 800 -C 800  하이퍼링크 로그인이 보입니다.
-n발행800요청,-c시뮬레이션800동시성, 800명이 동시에 방문하는 것과 테스트 URL이 이어집니다)
 집주인| 게시됨 2019. 5. 27. 오전 9:20:46 |
또한 Fiddler를 통해 스트레스 동시성 테스트를 수행하고, Fiddler 도구를 열어 아래 그림과 같이 모든 요청을 차단할 수도 있습니다:


요청한 세션을 반복하고 싶은 것을 선택한 후 버튼을 누르세요shift+r, 이 요청이 몇 번이나 반복되나요? (이 요청을 몇 번이나 반복하나요?) )

요청을 반복하고 싶은 횟수를 입력하세요. 여기서는 5번을 채웠고, fidle은 아래 그림과 같이 링크를 5번 반복하는 데 도움을 줍니다:



바이올린 조작법에 대한 더 많은 팁은 매뉴얼을 참고하세요:

피들러 중국어 매뉴얼 .zip 다운로드
https://down.itsvse.com/item/12839.html


면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com