안녕하세요 임오군란과 민씨의 임입니다.
이번 주제는 오픈소스 소프트웨어로 부하 테스트 기능 동작과 퍼포먼스, 성능을 측정하기 위해 만들어진 Jmeter에 대해 알아보도록 하겠습니다.
JMeter란?
JMeter는 웹 애플리케이션에 초점을 둔 다양한 서비스의 성능을 분석하고 측정하기 위한 부하테스트 도구입니다.
스테파노 마조끼가 개발하였으며, 현재 톰캣으로 잘 알려진 Apache JServ의 테스트를 위한 코드에서 시작되었고 이후 이 코드에 GUI와 기능을 추가하여 JMeter가 만들어졌습니다.
*성능테스트란
서비스 및 서비스 시스템의 성능을 확인하기 위해서 실제 사용환경과 비슷한 환경에서 테스트를 진행하는 것을 말합니다. 이를 통해서 응답시간(Response Time)과 처리량(Throughput), 병목구간 등을 확인할 수 있고, 성능테스트로 얻은 정보로 서비스나 서비스 시스템의 문제점을 확인하고 이를 개선하여 보완할 수 있습니다.
주요 기능
- 다양한 앱/서버/프로토콜 - Web, SOAP, REST, FTP, JDBC, LDAP, JMS, 메일, TCP, Java오프젝트 등을 테스트
- 다양한 응답 포맷을 지원 - HTML, JSON, XML 혹은 텍스트 응답 포맷으로부터 데이터를 추출
- 플러그인 확장 기능 - 플러그인을 통해 테스팅능력, 데이터분석, 가시화, 지속적인 통합 라이브러리확장을 제공
특징
- Multithreading 기능을 이용하여 동시에 많은 Thread를 발생시킬 수도 있으며 혹은 독립된 Thread를 연속적으로 발생시켜 테스팅합니다.
- HTTP나 FTP 서버뿐만 아니라 임의의 데이터베이스 쿼리도 성능 테스트할 수 있습니다.
- 높은 확장성과 GUI 환경으로 빠른 작업을 정확하게 할 수 있습니다.
Jmeter는 성능확인을 위한 부하테스트 도구이므로 Jmeter의 시스템 요구 사항에 대해서도 알아보겠습니다.
시스템 요구사항
JAVA | Jmeter는 Java기반 응용 프로그램이며, Java Runtime을 실행 해야하며, Jmeter 4.0부터 Java8 이상 지원합니다. |
CPU | 코어가 4개 이상인 멀티코어 CPU를 제안하며, Jmeter는 다중 스레드를 많이 사용하므로 많은 CPU를 차지합니다. |
메모리 | 16GB RAM을 제안하며, 추분한 동시 사용자를 시뮬레이트하고도 운영체제에 충분한 메모리를 확보 권장합니다. |
디스크 | Jmeter는 디스크에 크게 의존하지는 않지만 SSD 권장합니다. |
네트워크 | 1Gbps LAN을 권장하며, Jmeter는 네트워크 대역폭에서 많은 동시 사용자 시뮬레이션을 합니다. |
다음은 Jmeter 활용에 앞서 사용되는 용어에 대해서 알아보도록 하겠습니다.
사용자
- Named User(가입자) : 해당 시스템을 사용할 수 있는 전체 사용자
- Active User(서비스 사용자) : 해당 시점에 요청을 보낸 다음 응답이 올 때까지 대기하고 있는 사용자
- Inactive User(서비스 대기자) : 요청에 대한 응답 결과 화면을 보고 있거나 다음 요청을 보내지 않고 대기하는 사용자
- Concurrent User(동시 사용자) : 특정 시점에 시스템에 접속하여 사용하고 있는 사용자로 부하를 결정하는 중요한 수치(Active User + Inactive User)
시간
- 응답시간(Response Time) : 사용자 요청시점부터 결괏값 시간
- 대기시간(Think Time) : 사용자 요청 후 다음 요청하기까지 준비시간
- 호출간격(Request Interval) : 사용자의 요청을 보낸 후 다음 요청을 할 때까지의 간격
트랜잭션, 처리량
- 트랜잭션 - 업무 처리의 단위로 일반적으로 화면 조작 및 응답을 트랜잭션으로 정의, 특성에 따라 트랜잭션의 단위 및 범위를 정의하여 사용
- 처리량 - 단위 시간당 처리되는 비즈니스 트랜잭션의 요청 건수, TPS값을 가장 많이 활용하며, TPM, TPH, OPS 등의 기준을 정의하기도 합니다.
- 동시 사용자와 호출 간격을 이용하여, TPS를 예측할 수 있습니다.
- TPS = Concurrent User / Request Interval
병목현상
- 적은 수의 디스크에 많은 양의 요청이 들어와서 발생하는 현상으로, 시스템의 가용 자원 중 부하가 많이 걸려 전체 시스템 효율의 저하를 초래하는 현상을 말합니다.
JMeter 다운로드 링크 및 설치
http://jmeter.apache.org/download_jmeter.cgi
- 사전에 Java8 이상 설치가 꼭 필요합니다.
- 최신 버전의 .zip 파일을 다운로드 후 압축을 풀어줍니다.
'IT KNOWLEDGE' 카테고리의 다른 글
호스팅 과 클라우드 (0) | 2022.06.03 |
---|---|
Journaling (0) | 2022.06.02 |
가상화 (0) | 2022.05.30 |
LFCS[Linux Foundation Certifications]에 대해 알아보자! (0) | 2022.05.30 |
OPENSSL 업데이트 소개 (0) | 2022.05.27 |
댓글