사람이 어떤 일했습니다 벤치마킹 웹 서버 자신의 Raspi에를? 아직 Raspi가 없지만 웹 서버로 사용할 계획이며 다음에 대한 통계를보고 싶습니다.
- 초당 요청 수
- 요청 간 대기 시간 응답 시간
- 처리량 (예 : 초당 바이트)
이것들이 다른 웹 서버 소프트웨어 및 OS 조합에 대해 다르면 비교를보고 싶습니다.
사람이 어떤 일했습니다 벤치마킹 웹 서버 자신의 Raspi에를? 아직 Raspi가 없지만 웹 서버로 사용할 계획이며 다음에 대한 통계를보고 싶습니다.
이것들이 다른 웹 서버 소프트웨어 및 OS 조합에 대해 다르면 비교를보고 싶습니다.
답변:
Alex가 말했듯이 벤치 마크는 아키텍처에 관계없이 가장 빠른 Linux 웹 서버가 여전히 가장 빠르다는 것을 보여줄 것으로 기대합니다.
누구든지 벤치 마크를 실행하려면 다음 자습서가 유용했습니다.
간단한 정적 페이지를 제공하는 Apache를 사용하여 RPi를 테스트했습니다.
<h1>It works!</h1>
컨트롤 그룹으로서 나는 다음과 같은 사양을 따르는 기본 웹 서버를 사용했습니다.
Intel(R) Xeon(R) CPU X3323 @ 2.50GHz
384MB RAM
결과는 다음과 같습니다.
제어
ab -n 1000 -c 5 http://www.ivings.org.uk/~james/index.html
Server Software: Apache/2.2.14
Server Hostname: www.ivings.org.uk
Server Port: 80
Document Path: /~james/index.html
Document Length: 19 bytes
Concurrency Level: 5
Time taken for tests: 17.767 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 294000 bytes
HTML transferred: 19000 bytes
Requests per second: 56.29 [#/sec] (mean)
Time per request: 88.833 [ms] (mean)
Time per request: 17.767 [ms] (mean, across all concurrent requests)
Transfer rate: 16.16 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 42 44 0.8 44 50
Processing: 44 45 0.9 45 59
Waiting: 44 45 0.9 45 59
Total: 86 89 1.3 88 108
Percentage of the requests served within a certain time (ms)
50% 88
66% 89
75% 89
80% 89
90% 90
95% 91
98% 91
99% 94
100% 108 (longest request)
라즈베리 파이
ab -n 1000 -c 5 http://86.137.189.68/index.html
Server Software: Apache/2.2.22
Server Hostname: 86.137.189.68
Server Port: 80
Document Path: /index.html
Document Length: 19 bytes
Concurrency Level: 5
Time taken for tests: 23.186 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 304000 bytes
HTML transferred: 19000 bytes
Requests per second: 43.13 [#/sec] (mean)
Time per request: 115.930 [ms] (mean)
Time per request: 23.186 [ms] (mean, across all concurrent requests)
Transfer rate: 12.80 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 40 44 5.6 43 116
Processing: 49 71 156.1 57 2157
Waiting: 47 53 6.7 55 104
Total: 91 116 156.1 99 2198
Percentage of the requests served within a certain time (ms)
50% 99
66% 100
75% 100
80% 100
90% 102
95% 126
98% 150
99% 667
100% 2198 (longest request)
결론
참고 : 이것은 추정치로 처리하는 것이 가장 좋습니다.
결과는 Raspberry Pi가 실제로 잘 수행되었음을 보여줍니다. 기본 웹 서버보다 응답 속도가 약간 낮았습니다.
합리적으로 많은 수의 요청을 처리하는 것이 좋습니다.
정적 컨텐츠를 제공 할 때 Apache가 최선의 선택이 아니므로 nginx가 더 적합합니다. http://lekensteyn.nl/index.html 을 테스트 문서로 사용하여 벤치 마크를 수행했습니다. 실제 페이지에서는 19 바이트가 현실적이지 않기 때문에 Jiving의 예제보다 큰 문서입니다. 결과는 놀랍습니다 .RPP는 심지어 내 노트북보다 성능이 뛰어납니다 (아마도 모든 종류의 커널 디버깅 스위치가 활성화되어 있기 때문일 수 있습니다).
다음은 Arch Linux (RPi access_log off
,, 유선 이더넷) 에서 실행되는 nginx 1.4.1입니다 .
$ ab -n 1000 -c 5 http://192.168.2.10/index.html
Server Software: nginx/1.4.1
Server Hostname: 192.168.2.10
Server Port: 80
Document Path: /index.html
Document Length: 2159 bytes
Concurrency Level: 5
Time taken for tests: 2.341 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 2392000 bytes
HTML transferred: 2159000 bytes
Requests per second: 427.18 [#/sec] (mean)
Time per request: 11.705 [ms] (mean)
Time per request: 2.341 [ms] (mean, across all concurrent requests)
Transfer rate: 997.86 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 1 0.1 1 1
Processing: 4 11 1.0 11 20
Waiting: 3 11 1.0 10 19
Total: 4 12 1.0 12 21
Percentage of the requests served within a certain time (ms)
50% 12
66% 12
75% 12
80% 12
90% 12
95% 12
98% 17
99% 18
100% 21 (longest request)
이것은 내 노트북 ( access_log off
유선 이더넷)입니다.
Server Software: nginx/1.4.1
Server Hostname: 192.168.2.12
Server Port: 80
Document Path: /index.html
Document Length: 2159 bytes
Concurrency Level: 5
Time taken for tests: 2.593 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 2392000 bytes
HTML transferred: 2159000 bytes
Requests per second: 385.62 [#/sec] (mean)
Time per request: 12.966 [ms] (mean)
Time per request: 2.593 [ms] (mean, across all concurrent requests)
Transfer rate: 900.79 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 2 6 3.4 5 82
Processing: 3 7 5.6 6 86
Waiting: 3 7 5.5 5 82
Total: 6 13 6.8 12 94
Percentage of the requests served within a certain time (ms)
50% 12
66% 13
75% 14
80% 15
90% 17
95% 19
98% 24
99% 34
100% 94 (longest request)
완전성을 위해 내 원격 서버. WAN 연결의 병목 현상이 발생하면 속도가 느려집니다 ( access_log
꺼져 있지 않음).
Server Software: nginx/1.2.8
Server Hostname: lekensteyn.nl
Server Port: 80
Document Path: /index.html
Document Length: 2159 bytes
Concurrency Level: 5
Time taken for tests: 11.074 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 2370000 bytes
HTML transferred: 2159000 bytes
Requests per second: 90.30 [#/sec] (mean)
Time per request: 55.371 [ms] (mean)
Time per request: 11.074 [ms] (mean, across all concurrent requests)
Transfer rate: 209.00 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 25 27 2.3 26 59
Processing: 28 29 2.3 28 59
Waiting: 26 27 2.4 27 59
Total: 53 55 3.8 55 102
Percentage of the requests served within a certain time (ms)
50% 55
66% 55
75% 55
80% 55
90% 56
95% 57
98% 59
99% 86
100% 102 (longest request)
동시성 및 요청 수가 많을수록 더 많은 샘플을 포함 할 수 있기 때문에 숫자가 더 안정적이어야합니다 ( ab
유선 / 무선 모드에서 랩톱에 대해 실행 하면 숫자가 크게 변동합니다). 액세스 로그를 사용하여 테스트 할 때 해당 파일 시스템 버퍼는 로그 디렉토리가 SD 카드에있을 때 예기치 않은 쓰기 지연을 유발합니다.