- 1000 세션 부하테스트

 

 

- 10000 세션 부하테스트

 

CPU 100%로 인한 알림 발생. 에러는 없었으나 9초이상 걸리는 트랜잭션 존재
10000세션을 받아들일 스펙 은 아니라고 보임.
특이점은 메모리 Max가 524MB인데, 과부하에도 300MB 까지밖에 안올라감

 

 

- 7000 

 

CPU 사용률은 줄었으나, 10000 세션처럼 병목형상 발생.
메모리 사용률이 유의미하게 증가하지 않으므로,
메모리를 활용한 병렬처리 로직을 적용해 세션을 받아볼까?

'모니터링 > Scouter' 카테고리의 다른 글

(2) Jmeter를 통한 부하  (0) 2021.04.29
(1) 설치 및 적용  (0) 2021.04.27
(0) Scouter 란  (0) 2021.04.27

- Jmeter란

a부하테스트를 위한 Apache 재단의 오픈소스 툴

 


□ 설치 방법

 

Apache 사이트에서, Jmeter 다운로드 후 {설치폴더}/bin/jmeter.bat으로 실행

 

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

□ 구조

 

Test Plan - 테스트 케이스들이 모인 가장 상위 단위
Thread Group - Sampler들이 모인 테스트 케이스 단위
Sampler - 하나의 작은 작업 단위

 

□ 수행 방법

 

1. Add Thread Group

 

Number of Threads : 부하를 발생시킬 유저의 수

Ramp-up period : 전체 쓰레드가 작업이 완료되는 시간 

ex : Thread가 3이고, Ramp-up 이 15일시, 5초마다 3개 쓰레드가 실행 . ( 총 15초 수행 )

Loop Count : 해당 Thread 작업 반복횟수

 

2. Sampler 추가

 

- 이번 작업에서는 Tomcat 으로 띄워논 웹페이지 부하테스트로, HTTP Sampler 추가 ( 단순 DB Select 결과값을 보여주는 화면 )

 

HTTP(s) / IP / Port / Request path 작성

 

3. 모니터링을 위한 Listner 추가

 

Summary Report , View Result Tree 및 Graph Results 정도 추가해서, 추이확인 예정

 

4. Run 버튼으로 수행

 

Summary Report

Result Tree

Graph Result

 

'모니터링 > Scouter' 카테고리의 다른 글

(3) 스카우터를 통한 부하 분석  (0) 2021.04.29
(1) 설치 및 적용  (0) 2021.04.27
(0) Scouter 란  (0) 2021.04.27

GitHub에서 설치파일 다운로드 - github.com/scouter-project/scouter/releases/

 

Server, Agent, Client 모두 설치 예정이므로 All 버전 다운로드

-> 압축 풀어주면 설치는 완료


1) Server 구동

 

□ 설치 디렉토리/server/conf/Scouter.conf 파일 수정

 

  -  아무것도 작성이 안되어있어, Default 로 동작하겠지만, 수정이 필요하면 옵션 수정

     TCP, UDP Port 및 DB,log 저장 Path

더보기

# Agent Control and Service Port(Default : TCP 6100)
net_tcp_listen_port=6100

# UDP Receive Port(Default : 6100)
net_udp_listen_port=6100

# DB directory(Default : ./database)
db_dir=./database

# Log directory(Default : ./logs)
log_dir=./logs

□ 설치 디렉토리/server/conf/Start.bat 수행

 

2) Client로 접속 확인

 

 - Default Port : <server>:6100 Port

 - Default ID/PWD : admin/admin

- 서버는 가동되었으나, 수집되는 정보는 없는 상태

3) Agent 구동하여 데이터 수집하기

 

3-1) Host Agent

 

□ 설치폴더/agent.host/conf/scouter.conf 수정

 

# Default Setting

### scouter host configruation sample
#net_collector_ip=127.0.0.1
#net_collector_udp_port=6100
#net_collector_tcp_port=6100
#cpu_warning_pct=80
#cpu_fatal_pct=85
#cpu_check_period_ms=60000
#cpu_fatal_history=3
#cpu_alert_interval_ms=300000
#disk_warning_pct=88
#disk_fatal_pct=92

// Admin 서버 정보
net_collector_ip=127.0.0.1 // 데이터를 전송받을 Admin Server IP

net_collector_udp_port=6100 // UDP Port ( 기본 6100 )
net_collector_tcp_port=6100 // TCP Port ( 기본 6100 )

// CPU 알림 여부

#cpu_warning_pct=80 // Warning %
#cpu_fatal_pct=85 // Fatal %
#cpu_check_period_ms=60000 // CPU 수집 주기

#cpu_fatal_history=3  // Fatal 알림 누적 카운트 
#cpu_alert_interval_ms=300000 // CPU 알림 주기

// DISK 알림여부
#disk_warning_pct=88 // Warning %
#disk_fatal_pct=92 // Fatal %

 

 

설치폴더/agent.host/host.bat 수행

 

OS 정보 수집되는것 확인

3-2) Java Agent

 

□ Java agent는 단독실행이 아니라, 인스턴스에 붙어서 수행됌

 

□ 설치폴더/agent.java/conf/scouter.config 수정

### scouter java agent configuration sample
obj_name=test_01
net_collector_ip=127.0.0.1
net_collector_udp_port=6100
net_collector_tcp_port=6100

 

□ Tomcat 실행옵션에, Scouter 추가.

 

Eclipse VM Option에 하기 내용 추가

-javaagent:"D:\scouter-all-2.7.1.tar\scouter\agent.java/scouter.agent.jar"
-Dscouter.config="D:\scouter-all-2.7.1.tar\scouter\agent.java/conf/scouter.conf"

 

□ 수집하는것 확인

'모니터링 > Scouter' 카테고리의 다른 글

(3) 스카우터를 통한 부하 분석  (0) 2021.04.29
(2) Jmeter를 통한 부하  (0) 2021.04.29
(0) Scouter 란  (0) 2021.04.27

LG CNS에서 만든 오픈소스 APM

- Github 에서 설치 및 사용방법등 확인 가능  https://github.com/scouter-project/scouter 

※ APM ( Application Performance Monitoring ) : 어플리케이션 성능과 가용성에 대한 모니터링 및 관리

크게 Server , Agent , Client로 구분되어 있다.

 

1) Server 

Agent로 부터 데이터를 수집하여, 모니터링 가능하게 UI로 띄워놓는다.

2) Agent

OS에 설치하여 각종 성능 데이터들을 Server로 보낸다. 크게 Host 와 java agent로 나뉜다

 

 2-1 ) Host agent : CPU, Memory, F/S 등의 OS 정보 전송

 2-2 ) Java agent : 자바 프로세스, 인스턴스에 대해 Heap Memory, Request Transaction 등의 JVM 정보 전송 ( JVM 옵션적용 필요 )

 

3) Client

Server에 접속하여, 수집된 정보들을 UI로 확인할 수 있다.


※ 수집하는 데이터 

  • 각 요청의 응답속도 / 프로파일링 정보
  • 서버 요청 수 / 응답 수
  • 처리 중인 요청 수
  • 응답속도의 평균
  • JVM 메모리 사용량 / GC 시간
  • CPU 사용량

+ 프로파일링 정보를 통해서

  • 서버간 요청의 흐름
  • 각 SQL 쿼리의 수행 시간 / 통계
  • API 호출 수행 시간
  • request header 정보
  • 메소드 호출시 수행 시간

'모니터링 > Scouter' 카테고리의 다른 글

(3) 스카우터를 통한 부하 분석  (0) 2021.04.29
(2) Jmeter를 통한 부하  (0) 2021.04.29
(1) 설치 및 적용  (0) 2021.04.27

+ Recent posts