개발모음집

apache(아파치), nginx(엔진엑스), caddy(캐디) Web Server Benchmark 본문

Benchmark

apache(아파치), nginx(엔진엑스), caddy(캐디) Web Server Benchmark

void 2017. 10. 21. 09:00

환경

노트북에서 vm가상서버를 설치하여 웹서버설치


서버: iptime에 연결되어있는 랜선으로 인터넷 연결, 서버 포트포워딩함

클라이언트: sk브로드밴드의 공유기로 와이파이 연결

클라이언트에 Jmeter 설치하여 벤치마크 테스트 구현


사양

클라이언트 사양



서버 사양



가상서버 코어는 4개, 하이퍼스레딩으로 8개로 확장


전제 조건 

서버의 대역폭은 10Mbps여야 한다. 



대역폭 확인


실험방법

클라이언트 -> 서버
php파일까지 데이터(id:yyyyyyyyyyyy@gmail.com, pw:1q2w3e4r!!) 전달, php에서 처리하는 것 없음

서버 -> 클라이언트
무조건 숫자 "1"로 응답

Listener는 "Summary Report", "View Results in Table", "Transactions Per Second"를 사용


Summary Report와 View Results in Table Listener에서 필요한 부분만 발췌 정리


보기 어려워서 그래프로 표현


단위 => x 축: 동시접속자 수  , y축 : ms (millisecond)

단위 => x 축: 동시접속자 수  , y축 : %

처리량이란 서버로 전송되는 단위시간당 (초, 분, 시간) 요청수

단위 => x 축: 동시접속자 수  , y축 : %


단위 => x 축: 동시접속자 수  , y축 :  ms (millisecond)


단위 => x 축: 동시접속자 수  , y축 :  sec (second)



단어 정리


Jmeter:Understanding Summary Report

The summary report shows values about the measurement Jmeter has done while calling the same page as if many users are calling the page. It gives the result in tabular format which you can save as .csv file.
These are some main headings in the summary result listener. Lets understand them in detail: Label, Samples, Average, Max, Min, Std.Dev, Error%, Throughput, KB/Sec, Avg.Bytes.
  
LabelIn the label section you will able to see all the recorded http request, during test run or after test run.

SamplesSamples denote to the number of http request ran for given thread. Like we have one http request and we run it with 5 users, than the number of samples will be 5x1=5.
Same if the sample ran two times for the single user, than the number of samples for 5 users will be 5x2=10.

Average:  Average is the average response time for that particular http request. This response time is in millisecond. Like in the image you can see for first label, in which the number of sample is 4 because that sample run 2 time for single user and i ran the test with 2 user. So for 4 samples the average response time is 401 ms.

MinMin denotes to the minimum response time taken by the http request. Like for the above image the minimum response time for first four samples is 266 ms. It means one http request responded in 266 ms out of four samples.

MaxMax denotes to the maximum response time taken by the http request. Like for the above image the maximum response time for first four samples is 552 ms. It means one http request responded in 552 ms out of four samples.

Std.Deviation: This shows how many exceptional cases were found which were deviating from the average value of the receiving time.   The lesser this value more consistent the time pattern is assumed.

Error %: This denotes the error percentage in samples during run. This error can be of 404(file not found), or may be exception or any kind of error during test run will be shown in Error %. In the above image the error % is zero, because all the requests ran successfully.

ThroughputThe throughput is the number of requests per unit of time (seconds, minutes, hours) that are sent to your server during the test.

참고 블로그


Summary Report

grpThreads - number of active threads in this thread group

allThreads - total number of active threads in all groups



* 이 자료는 case 당 1회만 벤치마크를 했기 때문에 신뢰성이 낮은 자료입니다.

참고하는 정도로만 사용하시길

'Benchmark' 카테고리의 다른 글

Redis, Tarantool Benchmark  (1) 2018.03.16
MySQL, MariaDB, PostgreSQL Benchmark  (0) 2018.03.02
vmware 가상서버 포트포워딩  (0) 2017.10.15
Jmeter 사용법  (0) 2017.10.06
TechEmpower Source code & Requirements 한글 번역  (0) 2017.09.22