SMALL
요즘 업무시간에 하루에 최소 2번씩 등장하시는 부하테스트.
이제 부하테스트 관련 협의를 시작하는 단계라
일단, 부하테스트가 무엇인지? 왜 필요한지 ? 부하테스트 툴엔 무엇이 있는지 ?
세가지 물음표를 정리해보았다.
부하테스트 란?
특정한 부하를 제한된 시간을 두어서 웹 어플리케이션에 이상이 없는지 파악하는 테스트
부하테스트를 해야 하는 이유는 ?
개발환경과 실제로 서버를 배포한 환경이 다르기 때문.
실제로 서비스를 배포한다면, Postman을 통하여 API 테스트를 진행한 것과 달리
1000명, 10000명 그 이상의 사용자를 수용할 수 있어야 하므로 동시 사용자를 버틸 수 있는 지에 대해 테스트가 필요하다.
부하테스트 전 고려할 사항
서버의 사용자 수와 하나의 프로세스 당 서버가 처리해야 할 데이터양을 파악한 후에 테스트를 진행해야 함.
부하테스트 툴 종류별 특징
- jMeter
apache에서 만든 java 기반의 오픈소스로, 오래된 테스트 툴.
무료이며 사용자가 작성한 테스트 스크립트를 쉽게 재사용할 수 있음
다양한 플러그인과 확장 기능이 존재, 사용자 커뮤니티가 활발
부하테스트에 집중되어 있고 과도한 부하테스트 시뮬레이션 가능
단점 : 복잡한 테스트 시나리오나 대규모 시스템에서는 부적합 - nGrinder
네이버에서 만든 오픈소스
깔끔한 GUI, 사용하기 편함
하지만 스레드 기반으로 구현되어 있어 성능제약이 있다고 함. - K6
최신 오픈 소스.
javascript로 부하테스트 시나리오 작성할 수 있다는 장점.
HTTP, WebSocket 등 프로토콜을 지원하는 기능 풍부.
분산 시스템과 마이크로서비스 아키텍처에서의 성능을 검증
부하 시뮬레이션 가능 - loadview
클라우드 기반의 성능 테스트 도구
jMeter와 비슷하지만 유료
시각화 서비스가 좋음
오류를 잘 잡아냄
보안을 알아서 설정함
빠른 시간 내에 통계를 잘냄
대규모 시스템에서도 안정적인 결과 제공
사용자 시나리오 생성 및 관리 간편
-> 역시 유료라 장점이 많은 듯 ? - LoadNinja
SmarBear 소프트웨어에서 개발한 클라우드 기반 성능 테스트 도구
녹화 기능을 이용해 브라우저 레벨에서 스크립트를 생성하여 사용자 시나리오를 생성할 수 있음
분산 테스트와 지속적인 성능 모니터링 제공
브라우저 기반의 테스트로 실제 사용자가 직면할 수 있는 성능 문제 확인 가능
= 무료로 사용할 수 있는 CLI 도구를 제공하지만, 추가 기능을 SaaS 형태로 제공함.
(요즘 SaaS 형태가 대세인가 보다)
LIST
'끄적끄적 etc' 카테고리의 다른 글
| 웹뷰와 인앱브라우저 차이 (1) | 2024.05.12 |
|---|---|
| 코드 난독화란 ? 난독화 시 오류 발생 가능성은 ? (3) | 2024.05.05 |
| [Infra]오토스케일링과 로드밸런싱의 차이점 (1) | 2024.04.28 |
| [부하테스트]apache jmeter를 이용한 부하테스트 방법 정리 (1) | 2024.04.14 |
| [클라우드 서비스 종류] - XaaS(서비스형 시스템) : IaaS/PaaS/SaaS (1) | 2024.03.25 |