웹사이트 성능 테스트를 위해 JMeter 시작하기

게시 됨: 2022-05-10

느리고 실적이 저조한 웹사이트는 결코 청중을 끌어들일 수 없습니다. 그 외에도 테스트하는 동안 웹 사이트가 번개 같은 속도로 작동할 수 있지만 갑작스러운 트래픽 급증이 있을 때 웹 사이트가 어떻게 작동하는지 알고 있습니까? 또는 귀하의 비즈니스에 추가 통합 및 기능이 필요한 급성장 중인 경우가 있습니까?

당신이 찾고 있는 것은 다양한 시나리오에서 웹사이트의 성능을 테스트하는 방법입니다. 그리고 바로 여기에서 성능 테스트가 시작됩니다. 성능 테스트의 주요 목표는 웹사이트가 시장에 출시되기 전에 웹사이트의 성능이 예상대로인지 확인하는 것입니다. 속도, 안정성, 응답 시간 및 리소스 사용량을 테스트하는 데 도움이 됩니다. 모든 성능 테스트를 위한 환상적인 오픈 소스 도구는 JMeter입니다. JMeter를 자세히 살펴보고 이 기사에서 테스트를 구현하는 방법을 알아보세요.

JMeter 성능 테스트

성능 테스트를 하는 이유

성능 테스트의 목표는 버그를 찾는 것이 아니라 성능 결함을 제거하는 것입니다. 성능 테스트를 철저히 하지 않으면 여러 사용자가 동시에 사용하는 동안 웹 사이트가 느리게 실행되거나 사용성이 떨어지는 등의 문제가 발생할 수 있습니다. 성능 테스트의 가장 중요한 이유 중 하나는 다운타임을 피하기 위함입니다.

Fortune지 선정 500대 기업의 약 59%가 매주 약 1.6시간의 다운타임을 겪는다는 사실을 알고 계셨습니까? 2013년에 5분 다운타임으로 인해 Google.com의 비용은 무려 545,000달러였습니다! 예상치 못한 웹 서비스 중단으로 인해 Amazon은 초당 1100달러의 손실을 입었습니다. 원천.

성능 테스트가 서버의 과부하를 시뮬레이션할 수 있고 기능 테스트, 애플리케이션 테스트 및 프로토콜 테스트를 실행할 수 있다면 이 모든 것을 피할 수 있습니다.

JMeter를 사용한 성능 테스트

Apache JMeter 애플리케이션은 로드 또는 성능 테스트를 테스트하도록 설계된 순수 Java 기반 애플리케이션인 오픈 소스 소프트웨어입니다. Apache Software Foundation의 Stefano Mazzocchi가 처음 설계했습니다. JMeter는 웹 서버에 수많은 가상 동시 사용자를 생성하여 서버의 과부하를 시뮬레이션할 수 있습니다.

JMeter는 테스트를 어떻게 수행합니까?

JMeter는 요청을 생성하여 서버로 보냅니다. 서버 요청을 받으면 이를 수집하고 해당 세부 정보를 차트 또는 그래프로 시각화합니다. 그런 다음 서버 요청을 처리하고 마지막으로 텍스트, XML, JSON과 같은 여러 형식으로 테스트 결과를 생성합니다. 수집된 데이터에서 사용자는 애플리케이션의 동작 및 성능 병목 현상을 관찰하여 애플리케이션 개선이 필요한 부분에 대한 통찰력을 제공할 수 있습니다.

왜 JMeter

  • 오픈 소스 - JMeter는 오픈 소스 소프트웨어이며 무료로 다운로드할 수 있습니다.
  • 플랫폼 독립적 - JMeter는 세계에서 가장 널리 사용되는 프로그래밍 언어인 Java로 개발되었습니다. 따라서 모든 운영 체제에서 실행할 수 있습니다.
  • 다중 프로토콜 지원 - JMeter는 웹 애플리케이션 테스트를 지원할 뿐만 아니라 데이터베이스 서버 성능도 평가합니다. HTTP, JDBC, LDAP, SOAP, JMS 및 FTP와 같은 모든 기본 프로토콜은 JMeter에서 지원됩니다.
  • 사용자 친화적 - JMeter에는 테스트 계획을 만들고 요소를 구성하는 데 도움이 되는 포괄적인 GUI가 있습니다. 요소를 추가하는 것도 쉽습니다. 테스트 계획을 마우스 오른쪽 버튼으로 클릭하고 수행해야 할 작업을 추가하기만 하면 됩니다.

JMeter의 요소

  • 스레드 그룹 - 스레드 그룹은 스레드 모음입니다. 각 스레드는 AUT를 사용하는 한 명의 사용자를 나타냅니다. 각 스레드는 서버에 대한 하나의 실제 사용자 요청을 모방합니다.
  • 샘플러 - JMeter는 HTTP, FTP, JDBC 및 더 많은 프로토콜 테스트를 지원합니다. 스레드 그룹은 서버에 대한 사용자 요청을 시뮬레이션합니다. 스레드 그룹이 어떤 유형의 요청(HTTP, FTP 등)을 해야 하는지 알 수 있도록 도와줍니다.
  • 리스너 - 리스너는 뷰어가 샘플러 결과를 테이블, 그래프, 트리 또는 일부 로그 파일의 간단한 텍스트 형태로 볼 수 있도록 합니다.
  • 구성 - JMeter의 구성 요소는 서버에 대한 샘플러 요청을 구성하거나 수정하는 데 사용됩니다.

jmeter를 설치하는 방법

JMeter를 다운로드하고 설치하기 위한 전제 조건은 시스템에 Java를 설치하는 것입니다.

  • JMeter를 다운로드하고 여기에서 설치하십시오 - https://jmeter.apache.org/download_jmeter.cgi
  • JMeter 실행: Apache jmeter 폴더 > bin 폴더 > jmeter.bat 클릭

테스트 계획 생성

1단계: 스레드 그룹 추가

추가로 이동한 다음 스레드(사용자)로 이동하고 스레드 사용자를 선택합니다.

성능 시험

스레드 그룹

옵션

가. 오류 발생 시 조치
나. 스레드 수 - 사용자 수
C. Ramp-up 기간(초) - 사용자 조회 사이의 시간 간격
D. 루프 수 - 사용자 수에 대해 테스트를 몇 번 실행할지

2단계: HTTP 요청 추가

Thread 그룹을 마우스 오른쪽 버튼으로 클릭하고 샘플러를 추가하고 Http 요청을 클릭합니다.

옵션

A. "서버 이름" 추가
B. http 또는 HTTPS는 다른 상자에 포함되어 있고 http 요청의 경우 자동으로 사용되는 프로토콜이므로 제공하지 마십시오.
C. 경로 대화 상자 → 슬래시 추가.

HTTP 요청

3단계: 리스너 추가

스레드 그룹을 마우스 오른쪽 버튼으로 클릭하고 리스너를 추가하고 테이블에서 결과 보기를 클릭합니다.

결과 보기

4단계: 테스트 실행

테스트를 저장하고 녹색 화살표 버튼을 클릭합니다.

테이블의 결과테이블에서 결과 보기

결과 분석 시간

  • 샘플 번호 - 번호. 스레드 또는 사용자. 보고서에서 "이것은 샘플 번호 1입니다."라고 언급합니다. 즉, 스레드 1, 스레드 번호 2 등입니다.
  • 시작 시간 - 각 스레드 또는 사용자의 시작 시간
  • 스레드 이름 - 여기서 스레드 이름은 기본적으로 스레드 그룹 이름입니다. 스레드 그룹 이름에는 1-1 , 1-2…라는 숫자가 있으므로 이 첫 번째 것은 첫 번째 사용자와의 첫 번째 반복, 두 번째 사용자와의 첫 번째 반복 등을 의미합니다.
  • 레이블 - 레이블은 샘플 또는 요청 이름입니다.
  • 샘플 시간 - 이 샘플(레이블)이 am/s 기준으로 시간이 얼마나 걸렸는지입니다.
  • 상태 - 요청 상태입니다.
  • 바이트 - 수신된 바이트
  • 보낸 바이트 - 보낸 바이트
  • Latency - 사용자/브라우저의 시간 요청 및 응답 시간입니다. 서버 처리 시간을 포함하지 않는 서버에서 클라이언트/브라우저로 이동한 요청에 대한 응답입니다. (요청 및 응답 시간만)
  • 연결 시간 - 연결 시간은 애플리케이션이 서버에 연결되는 데 걸린 시간(밀리초)입니다.

대기 시간 및 연결 시간은 항상 낮아야 한다는 점을 아는 것이 중요합니다. 연결 시간 또는 대기 시간이 길수록 웹 사이트 성능에 문제가 있음을 의미합니다.