참고: https://effortguy.tistory.com/164
https://jaehoney.tistory.com/224
Apache JMeter는 서버가 제공하는 성능 및 부하를 측정할 수 있는 테스트 도구이다. JMeter는 순수 Java 애플리케이션 오픈소스이며 서버나 네트워크 또는 개체에 대해 과부하를 시뮬레이션하여 강도를 테스트하거나 다양한 부하 유형에서 전체 성능을 분석하는 데 사용할 수 있다.
비슷한 부하테스트 도구로는 Apache Benchmark, Ngrinder, Pinpoint, Gatling등이 있다.
다음과 같은 프로토콜/서버를 테스트할 수 있다.
- - SOAP / REST 웹 서비스
- - JDBC
- - JMS - Message-oriented middleware (MOM)
- - Native commands or shell scripts- Java Objects
- - TCP
- - Mail - SMTP(S), POP3(S) and IMAP(S)
- - LDAP
- - FTP
주요 개념
- Thread Group: 몇 개의 쓰레드가 동시에 요청을 보내는 지
- Sampler: 어떤 유저가 해야 하는 액션
- Listener: 응답을 받았을 때 어떤 동작을 취하는 지 (검증, 리포트, 그래프 그리기 등)
- Configuration: Sampler 또는 Listener가 사용할 설정 값 (쿠키, JDBC 커넥션 등)
- Assertion: 응답 결과의 성공 여부를 판단하는 조건 (응답 코드, 본문 내용 등)
설치 참고는
https://hojun-dev.tistory.com/entry/JMeter-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0
파일 설정 참고는
https://jaehoney.tistory.com/224
테스트 할때는 테스트 할 환경 꼭 켜놓고
만일 일반 네비게이션 기능을 한다 치면
http request를 다음과 같이 설정
Listner는 다음과 같이 추가했고,
아직은 익숙하지 않아서인지 View Result in Table이 가장 눈에 잘 익는 것 같다.
Table 열 데이터가 의미하는 것은 아래와 같고 다음 사이트에서 참고했다. https://kamang-it.tistory.com/607
Table 열 데이터
Sample - 그냥 ID번호다. 이 번호를 보고 몇번째로 보는 부하인지 알 수 있다.
Start Time - 보내기 시작한 시간으로 ms단위까지 나온다.
Thread Name - 쓰레드 그룹 이름
Label - 보낸 request의 이름
Sample Time(ms) - Load Time, Elapsed Time, Response Time이랑 같은 뜻이다. 요청 시작 시점부터 응답 종료 시점까지의 시간을 의미
Status - 말그대로 응답상태를 확인할 수 있다.
Bytes - 응답 데이터 바이트
Sent Byte - 요청 데이터 바이트
Latency - 지연 속도를 의미하는데 요청 시작 시점부터 응답 시작 시점까지의 시간을 의미
Connect Time(ms) - TCP Handshake를 이용해 연결하는 시간(그냥 TCP연결시간)
Table footer 데이터
No of Samples - No는 아니다라는 뜻이 아니라 number라는 뜻, 처리중인 데이터 수를 의미
Latest Sample - 가장 마지막 Sample Time
Average - 생략되있는데 Sample Time 평균
Deviation - 생략되있는데 Sample Time의 표준편차
'프로젝트 > RanDrive' 카테고리의 다른 글
기능 개선(새로운 랜덤 길찾기 알고리즘 프론트 코드 작성) (1) | 2023.11.01 |
---|---|
기능 개선(경유지를 가진 경로 이탈 시 처리) (0) | 2023.11.01 |
기능 개선(랜덤 길찾기 알고리즘) (0) | 2023.10.28 |
https 배포 (0) | 2023.10.28 |
Random-Drive-Project 기본 MVC 구현(프론트엔드 작업) (0) | 2023.10.26 |