siege : 경량 벤치마크 테스터
- 대규모 테스트 보다는 개발한 페이지 단위의 테스트에 더 적합하다.
- 개발자가 개발하면서 동시에 테스트해 정량적 데이터를 기준으로 성능개선이 가능한 점이 편리한거 같다.
설치법
- 우분투 : sudo apt-get install siege
- centos(linux) : yum install siege
사용법 siege -b -t5s http://localhost:3000
-b : 앱의 벤치마킹 테스트 여부를 표시. 각 요청에 지연은 발생하지 않음
-c : 동시 연결개수 default 10 -c50(50개 연결)
-t : 벤치마킹 테스트 시간, H, M, S로 표기 - t10s(10초간)
테스트 결과
구분 | 설명 |
Transactions | Http 요청횟수 |
Availability | 서버가 성공적으로 처리하는 소켓 연결의 확률 |
Elapsed time | 전체 siege 테스트 하는데 걸리는 시간 |
Data transferred | siege가 시뮬레이션 된 브라우저에 전송하는 전체 데이터량. 이 데이터는 컨텐트뿐만 아니라 헤더 정보까지 포함. 헤더 정보를 포함하고 있으므로 siege가 표시하는 전체 데이터량은 서버가 전달하는 양보다 규모가 더 크다. 특정 설정 파일에 있는 임의의 URL을 사용하는 internet모드로 설정된 상황에서 전체 전송 데이터량은 동작할때마다 각각 달라진다. |
Response time | siege가 시뮬레이션 된 브라우저의 각 요청에 대해 걸린 평균 응답시간 |
Transaction rate | 서버가 초당 처리할수 있는 트랜잭션 개수 |
Throughput | 서버에서 시뮬레이션 된 브라우저로 초당 전송되는 평균바이트단위의 데이터량 |
Concurrency | 동시 연결할수 있는 평균 개수이고, 증가할때마다 서버의 성능은 저하됨 |
Successful transactions | 서버가 400 이하의 응답코드를 반환하는 횟수 |
Failed transactions | 서버가 400 혹은 그이상의 응답코드를 반환하는 횟수이고 타임아웃 횟수를 포함한 소켓 연결이 실패된 트랜잭션의 합계도 나타낸다. |
Longest transaction | 모든 트랜잭션중 단일 트랜잭션 처리에 걸린 가장 긴시간 |
Shortest transaction | 모든 트랜잭션중 단일 트랜잭션 처리에 걸린 가장 짧은 시간 |
댓글
댓글 쓰기