Apache JMeter란 무엇인가?
Apache JMeter는 웹사이트, API, 웹 서비스 등 다양한 시스템의 성능 및 부하 테스트를 위한 오픈 소스 도구입니다. 100% Java 기반으로 개발되어 플랫폼 독립성을 가지고 있으며, 다양한 기능을 통해 사용자 정의가 가능한 테스트를 수행할 수 있습니다.
JMeter의 주요 특징
- 다양한 프로토콜 지원: HTTP, HTTPS, FTP, JDBC, LDAP 등 다양한 프로토콜을 지원하여 다양한 시스템을 테스트할 수 있습니다.
- 부하 테스트: 여러 사용자가 시스템에 동시에 접속했을 때의 성능을 테스트하여 시스템의 한계점을 파악할 수 있습니다.
- 성능 테스트: 시스템의 응답 시간, 처리량, 오류율 등을 측정하여 시스템의 성능을 분석할 수 있습니다.
- 사용자 정의 가능: 다양한 샘플러, 리스너, 테스트 플랜을 사용하여 사용자 정의 테스트를 수행할 수 있습니다.
JMeter를 이용한 간단한 성능 테스트 방법
- JMeter 설치:
https://jmeter.apache.org/download_jmeter.cgi
- JMeter는 Apache JMeter 공식 웹사이트에서 다운로드하여 설치할 수 있습니다.
2. CMD apache-jmeter Bin폴더로
이동 후 Jmeter 입력
1. Test Plan 우클릭 후 Add -> Thread(User) -> Thread Group
아래 필요한 정보 입력
Number of Threads (스레드 수): 동시에 실행될 가상 사용자 수를 의미합니다. 숫자로 입력하며, 값이 클수록 더 많은 가상 사용자가 테스트에 참여하게 됩니다. 예를 들어, 100이라고 입력하면 100명의 가상 사용자가 동시에 테스트를 수행하게 됩니다.
Ramp-up Period (램프업 기간): 모든 가상 사용자가 테스트에 참여하는 데 걸리는 시간을 의미합니다. 초 단위로 입력하며, 값이 클수록 모든 가상 사용자가 테스트에 참여하는 데 더 오랜 시간이 걸립니다. 예를 들어, 60이라고 입력하면 60초 동안 점진적으로 가상 사용자를 추가하여 100명의 가상 사용자가 모두 테스트에 참여하게 됩니다.
Loop Count: Infinite (루프 카운트: 무한): 각 가상 사용자가 테스트를 반복하는 횟수를 의미하며, Infinite는 가상 사용자가 테스트를 종료할 때까지 반복적으로 수행한다는 의미입니다. 즉, 테스트가 강제로 종료되지 않限り 계속해서 테스트를 수행하게 됩니다.
2. Thread Group 우클릭 후 Add -> Sampler -> Http Request
Server Name or IP, Port Number, Http Request 입력 후 Add
3. Thread Group 우클릭 후 Add -> Listener-> 얻을 수 있는 View 생성
4. Thread Group 우클릭 후 Add -> Assertions -> Response Assertion
-Text Response Add 클릭 후 Patterns to Test에 입
5. Jmeter 실행 후 아까 만들어 놓은 View클릭 후 테이블 확인
JMeter 활용 예시
- 웹사이트의 로그인 기능 부하 테스트
- 온라인 스토어의 결제 기능 성능 테스트
- API의 응답 시간 테스트
JMeter의 장점
- 무료 오픈 소스 도구
- 다양한 기능 및 확장성
- 사용자 정의 가능
- 다양한 플랫폼 지원
JMeter의 단점
- GUI 사용 인터페이스가 다소 복잡
- 초보자에게는 학습 곡선이 가파를 수 있음
'IT > 개발' 카테고리의 다른 글
xlsx(Excel)파일 csv 변환 방법 (Python) (0) | 2024.04.24 |
---|---|
[Visual Studio Code] Go to definition 안될 시 for Mac (0) | 2024.04.19 |
Python Locust - 서버 부하테스트(웹사이트 부하 테스트를 위한 강력한 도구) (0) | 2024.04.08 |
Unity Playfab Displayname Setting (0) | 2024.04.01 |
Unity [Package Manager Window] Error ... (0) | 2024.03.26 |