MiddleWare/WebtoB

[WebtoB] Jmeter를 활용하여 다중 IP 호출 확인하기

minminit 2023. 5. 10. 10:34

https://pushstonez.tistory.com/13

 

[WebtoB] X-Forwarded-For(XFF) 설정

X-Forwarded-For(XFF) 란? XFF는 Http Header 중 하나로 HTTP Server에 요청한 Client의 IP를 식별하기 위한 표준 웹서버나 WAS 앞에 L4 같은 로드 밸런서나 Proxy Server, Caching Server 등의 장비가 있을 경우, 웹서버는 P

pushstonez.tistory.com

WebtoB의 X-Forwarded-For 설정을 마친 후 다중 IP를 사용하여 테스트를 진행한다.


 0. Jmeter?

Apache JMeter는 서버가 제공하는 성능 및 부하를 측정할 수 있는 테스트 도구다.

JMeter는 순수 Java 애플리케이션 오픈소스이며 서버나 네트워크 또는 개체에 대해 과부하를 시뮬레이션하여 강도를 테스트하거나 다양한 부하 유형에서 전체 성능을 분석하는 데 사용할 수 있다.


1. Jmeter 설치

1. https://jmeter.apache.org/ 에 접속한다.

 

Apache JMeter - Apache JMeter™

Apache JMeter™ The Apache JMeter™ application is open source software, a 100% pure Java application designed to load test functional behavior and measure performance. It was originally designed for testing Web Applications but has since expanded to oth

jmeter.apache.org

2. Download → Download Releases 를 선택한다.

3. Binaries -> jmeter-*.zip 파일을 다운로드 받는다.

4.적당한 위치에 압축을 해제 한 후, bin 디렉토리 내 jmeter.bat 파일을 실행한다.

5. Apache Jmeter 창이 제대로 떴다면 설치 완료.


2. Jmeter 설정

1. Thread Group 생성 및 설정

Thread Group은 하나의 Test Case 이다.

(마우스 우클릭) Test Plan → Add → Threads → Thread Group 선택

Thread Group 생성
Thread Group 설정

  • Number of Threads : Thread 생성 수 (test: 10)
  • Ramp-up period : Thread를 Ramp-up preiod 시간 만큼 실행 (test: 1)
  • Loop Count : Thread의 반복 횟수 (test: 30)

2. HTTP Request 생성 및 설정

(마우스 우클릭) Thread Group → Add → Sampler → Htto Request 선택

HTTP Requset 생성

BASIC 과 Advanced 탭을 선택하여 설정한다.

HTTP Request 설정


BASIC

  • Server Name or IP : 접속할 WEB SERVER IP 또는 Domain을 입력한다. (test: WEB Server IP)
  • Port Number : 서비스 Open 된 Port를 입력한다.  (test: 80)

Advanced

  • Implementation : X-Forwarded-For 설정을 위해 HttpClient4 로 변경한다.

3. CSV Data Set Config 생성 및 설정

(마우스 우클릭) Test Plan → Add → Config Element→ CSV Data Set Config 선택

CSV Data Set Config 생성

  • Filename : 다중 IP가 설정되어 있는 파일을 선택해준다. (절대경로)

ip_list 파일 내용

  • Variable Names : HTTP Header 설정에서 가져올 변수 명을 설정한다. (test: IP_LIST)

4. HTTP Header Manager 생성 및 설정

(마우스 우클릭) Http Request → Add → Config Element→ HTTP Header Manager 선택

HTTP Header Manager 생성
HTTP Header Manager 설정

  • Headers Stored in the Header Manager : 요청과 함께 전달될 헤더 필드 목록 (Name : X-Forwarded-For , Value : ${IP_LIST}

모든 설정을 완료 후 하단의 Save 버튼을 통해 설정 값을 저장한다.


3. Test

1. WebtoB 기동

 

2. Jmeter 실행

Jmeter 상단의 실행 버튼을 통해 JMeter 테스트를 시작한다.

 

3. Access 로그 모니터링

tail -F {accesslog name}

ip_list에 설정한 IP 들의 요청을 확인할 수 있다.