PE Notes · SW
SW 성능 테스트
부하·스트레스·내구성과 스파이크·볼륨·확장성 여섯 유형을 가르고, 계획부터 튜닝·재시험 절차와 도구를 본 뒤, P95·TPS·오류율과 공공 제출 요건을 정리합니다.
기능이 맞아도 느리면 사용자는 떠납니다. 성능 테스트는 정해 둔 부하에서 응답 시간·처리량·자원 사용을 재고, 를 넘기는지와 어디가 막히는지를 확인하는 일입니다. 기능 시험의 합격과 같은 줄에 두지 않습니다.
정의와 여섯 유형
목적은 기준 충족과 병목 식별입니다. 지표는 응답 시간(중앙값·P95·P99), , 오류율, CPU·메모리입니다. 평균만 보면 꼬리가 가려집니다.
는 예상 최댓값에서 정상 동작과 SLA를 봅니다. 는 그 위를 밀어 한계와 회복을 찾습니다. 는 정상 부하를 오래 두어 누수와 서서히 느려짐을 봅니다.
스파이크는 짧은 급증(행사·배포 직후)에 대한 반응입니다. 볼륨은 데이터가 커졌을 때 질의·배치가 버티는지를 봅니다. 확장성은 서버를 가로·세로로 늘렸을 때 성능이 비례하는지를 봅니다. 배포 전략의 카나리·블루-그린은 트래픽을 나누는 출시 방법이고, 성능 유형은 그 앞에서 한계를 재는 시험입니다.
| 유형 | 묻는 것 |
|---|---|
| 부하 | 예상 동시 사용자에서 기준을 지키나 |
| 스트레스 | 어디가 깨지나, 깨진 뒤 돌아오나 |
| 내구성 | 시간이 지나도 같은가 |
| 스파이크 | 갑자기 몰리면 살아남나 |
| 볼륨 | 데이터가 커져도 질의가가 버티나 |
| 확장성 | 자원을 넣으면 처리량이 따라오나 |
절차·분석·도구
계획은 목표 TPS·응답, 핵심 시나리오, 부하 프로파일을 적습니다. 환경은 운영과 같거나 축소 비례입니다. 스크립트는 가상 사용자, 생각 시간, 램프업입니다. 한 명 기준선을 찍고 목표 부하, 그다음 한계를 올립니다.
수집은 응답·TPS·오류·자원입니다. 병목은 CPU, 메모리·GC, 질의, 커넥션 풀, 외부 API, 네트워크 중 어디인지를 가릅니다. 인덱스·캐시·풀 크기를 고친 뒤 재시험해 기준 충족을 남깁니다. 로 CI에 k6를 붙이면 회귀가 배포마다 보입니다.
도구는 쓰임이 갈립니다. JMeter는 GUI와 여러 프로토콜, 분산 부하에 넓습니다. k6는 스크립트가 JavaScript이고 파이프라인에 넣기 쉽습니다. Gatling은 고부하와 보고서가 강합니다. 도구 이름이 합격이 아닙니다. 시나리오와 운영 닮음이 합격입니다.
목표 숫자와 공공 요건
응답은 P50·P95·P99로 둡니다. 웹의 흔한 칸은 P95가 2초 안입니다. 처리량은 목표 TPS와, 피크를 평균의 여러 배로 둔 여유입니다. 오류율은 1% 아래, 타임아웃·5xx를 임계로 잡습니다. SLA는 평균이 아니라 입니다.
자원은 정상 CPU 70%대, 피크 80% 아래, 메모리도 비슷한 여유입니다. 내구성이 없으면 누수가 안 보입니다. DB는 평균 질의와 1초를 넘는 슬로우를 같이 봅니다.
공공 구축은 완료 감리 전에 성능 결과를 내는 일이 많습니다. 피크 TPS와 응답 기준이 사업서에 있고, 그 숫자를 시험으로 증명합니다. 운영 뒤에는 APM으로 같은 축을 추적합니다. 품질관리의 통제가 상시 관측으로 이어집니다.
답안은 여섯 유형, 계획-실행-병목-재시험, P95·TPS·오류율, 공공 제출을 한 표에 올립니다.
기술사 답안 포인트
관련 용어
관련 토픽
SW
프로젝트 품질관리
PMBOK 품질관리 계획·품질 보증(Manage Quality)·품질 통제 세 프로세스와 7가지 기본 도구, 품질 비용, QA와 QC의 예방·탐지 차이를 정리합니다.
SW
테스트 기법
V 모델의 단계 대응과 TDD·BDD 리듬을 잡고, 명세 기반·구조 기반 기법과 테스트 레벨을 나눈 뒤, 피라미드·커버리지·시프트 레프트로 자동화를 붙입니다.
SW
SW 배포와 테스트 전략
빅뱅·롤링·블루-그린·카나리·피처 플래그와 다크 런치·그림자 테스트를 가르고, 테스트 피라미드와 GitOps·관측으로 무중단 릴리즈를 짜는 법을 정리합니다.