Apache 웹 서버 부하 테스트(Centos6에서 실행) [닫기]

Apache 웹 서버 부하 테스트(Centos6에서 실행) [닫기]

연결이 끊어지거나 시간 초과되지 않고 웹 서버(Apache) 설정이 처리할 수 있는 요청 수를 쉽게 테스트할 수 있는 방법은 무엇입니까?

간단한 bash 스크립트가 있습니까? 아니면 복잡한 스트레스 테스트 도구를 사용해야 합니까?

답변1

ab테스트를 위해 패키지에 포함된 소프트웨어를 사용할 수 있습니다 apache2-utils. 예:

ab -r -n 100 -c 10 -k -H "Accept-Encoding: gzip, deflate" http://mysite.mydomain.com/
  • -r: 소켓 오류로 인한 종료를 방지합니다.
  • -n: 수행할 요청 수입니다.
  • -c: 동시에 실행되는 여러 요청의 수입니다.
  • -k: HTTP KeepAlive를 활성화합니다. 이는 Http 세션당 여러 요청을 수행한다는 의미입니다.
  • -H: 사용자 정의 헤더. 이는 사이트 구성 방식에 따라 크게 달라집니다.

다음은 인덱스 페이지(php)만 있는 간단한 사이트에서 수행한 테스트 결과입니다.

# ab -r -n 200 -c 20 -k -H "Accept-Encoding: gzip, deflate" http://intranet.example.com/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking intranet.example.com (be patient)
Completed 100 requests
Completed 200 requests
Finished 200 requests


Server Software:        Apache/2.2.15
Server Hostname:        intranet.example.com
Server Port:            80

Document Path:          /
Document Length:        10276 bytes

Concurrency Level:      20
Time taken for tests:   38.344 seconds
Complete requests:      200
Failed requests:        0
Write errors:           0
Keep-Alive requests:    0
Total transferred:      2132800 bytes
HTML transferred:       2055200 bytes
Requests per second:    5.22 [#/sec] (mean)
Time per request:       3834.421 [ms] (mean)
Time per request:       191.721 [ms] (mean, across all concurrent requests)
Transfer rate:          54.32 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.1      0       1
Processing:  2869 3813 383.1   3649    5205
Waiting:     2868 3781 380.4   3613    5161
Total:       2869 3814 383.1   3650    5205

Percentage of the requests served within a certain time (ms)
  50%   3650
  66%   3763
  75%   3971
  80%   4318
  90%   4451
  95%   4530
  98%   4634
  99%   5093
 100%   5205 (longest request)

그러나 httpd 서비스에 과부하가 걸리지 않았는지 확인하고 서버에 더 큰 영향을 미치도록 모든 매개변수를 늘리려면 테스트 사이에 약간의 시간을 투자해야 합니다. 내가 아는 한, 이 출력을 평가하고 동적으로 측정된 매개변수의 성능을 향상시킬 수 있는 도구는 없습니다.

링크:

관련 정보