*개인적인 정리임을 미리 말씀드림*
부하 모델링이 어려움*
*성능테스트
-1) 단위 성능테스트: ex.로그인 하나만 부하테스트(가상 유저들)
-2) 통합 성능테스트: 피크된 모든 업무를 업무 비율별로 통합으로 발생시켜놓고 이상이 있나 없나봄, TPS 계산하고, TPS만큼 부하줌
- 3) 임계 성능테스트: TPS 증가시켜봄(부하량 증가시켜봄, TPS관찰), 부하를 계속주는데 TPS가 증가하지 않는 것 까지 관찰
-- 부하를 확주지 않고, 목표 TPS만큼 부하량을 서서히 줌, TPS이상으로도 더 부하를 줘서 TPS테스트, 현실세계 사용자들처럼 부하를 줌
-- 현실세계 사용자들처럼이란말은 이 페이지보고 하나 담고, 저 페이지보고 하나 담고, 이런식으로 하는 방식을 의미
부하모델링: 가장 많은 사용자들이 시스템을 하는 시간을 고름
- 그 시간에 호출된 업무들을 리스트화함
- 부하 비율을 산정
성능테스트 방법에 따른 분류
- 2) Spike 테스트: 특정 시점에 부하를 확줌
Ex) 쿠팡에서 오후 10시에 십만원짜리 키보드를 만원에 팔면, 사람들이 너도나도 들어오게됨
10시되면 키보드가 열리게 되고, 순식간에 사람들이 엄청 들어옴, 이런 시물레이션이 Spike 테스트
용어정리
- Resp Time = CPU T + Wait T(OS가 자동으로 함, 자원보호목적)
- Think Time = 페이지를 둘러보는 시간
- 요청 주기(sec)[클릭하고, 클릭 전까지 시간] = 응답시간(sec) + Think Time(sec)
- Visit Time = 로그인하고 페이지를 훑어보고 로그아웃까지의 시간
- Concurrent User(동시사용자) = 특정 시점에 단면을 짤랐을 때, 10분 전후에 모두 한번 이상 호출된 서로 다른 IP Address 개수
-- Concurrent User = Active user + Inactive User
- inactive User: 10분 전후에 모두 1번이상 있던 사용자
- active User: 특정 시점에 request보내고, 아직 response 받지 않은 사람
Throughput(처리량): 단위 시간당 서버에서 처리되는 요청 건수 = TPS(초당 요청 건수)
Saturation Point(임계점): 최대 TPS가 나타나는 최초의 시점
- TPS가 높으면 높을수록 좋음, 초당 처리건수가 증가하는 것이니까
성능테스트 프로세스
1) 분석 = 요구사항 수집, 자료 분석, 목표 수립
2) 설계 = 목표 TPS 설정
3) 준비 = 스크립트 작성, 성능테스트 환경 설정
4) 수행 = 단위 성능테스트, 통합 성능 테스트(자원검사, 병목검사, 개선), 안전성 테스트
5) 평가 = 결과 분석, 시스템 최적화, 검증 테스트, 보고서 작성
JMeter: Plugin Architecture 지원
- Sample:
- JDBC Request:
- JMS Publisher: Java Message Service,
- Java Request: TCP방식으로 정보전달함
- LDAP Requset: Domain 로그인할때, 로그인 인증 Protocol
- Logic Controller: 부하테스트는 전제조건을 따져가며 해야됨
-- if Controller
- While Controller
Listener: Run Time Monitering 할때 많이 사용
레코딩
- Proxy Server이용
-- Proxy란? 대신하다, 대리하다 뜻으로, Forward Proxy, Reverse Proxy가 있음
-- Forward Proxy: 외부로 나가는 모든 트래픽을 거쳐가게 하면서, 정보의 data들을 cache해놓고, 정적인 Resource들은 Cache를 통해 빨리 전달가능함.
-- 단점은 모두 감청당함
-- Reverse Proxy:
Test Fragment
- 아무 의미없음
- 그냥 구성 나눌 때 좋음
'IT 제품 용어 정리 > Apatche JMeter' 카테고리의 다른 글
[JMETER] KOSTA 3일차 교육 입니다. (0) | 2023.03.31 |
---|---|
[IT용어] 쓰레드 풀이란? (0) | 2023.03.23 |
[JMeter] JMeter로 성능 테스트 해보기! (0) | 2023.03.20 |
[IT용어] 쿠키란? (0) | 2023.03.20 |
[IT용어] Parsing 이란? (0) | 2023.03.20 |