💬 질문:
"성능 테스트에서 중요하게 생각한 부분과 개선한 부분에 대해서 말씀해주세요."
---
✅ 모범 답변 예시:
> 성능 테스트에서는 시스템의 병목 지점을 파악하고, 서비스가 예상 트래픽을 감당할 수 있는지를 검증하는 것이 핵심이라고 생각합니다.
저희 팀에서는 먼저 시나리오 기반 부하 테스트를 통해 사용자 수 증가에 따라 응답 시간, CPU 사용량, DB 커넥션 수, GC 빈도 등을 모니터링했습니다.
그 과정에서 중요한 지표로는 95th percentile 응답 시간, TPS(Transactions Per Second), 에러율 등을 중점적으로 보았고, 다음과 같은 개선을 했습니다:
1. DB 튜닝: 슬로우 쿼리 로그 분석 후, 인덱스를 추가하거나 조인을 줄이기 위한 쿼리 리팩토링을 진행했습니다.
2. 캐싱 도입: 자주 요청되는 정적 데이터는 Redis 캐시로 분리하여 DB 부하를 줄였습니다.
3. 비동기 처리 도입: 주문 처리와 같이 시간이 오래 걸리는 작업은 메시지 큐(Kafka)를 통해 비동기 처리로 전환했습니다.
4. 커넥션 풀 조정: DB 커넥션 풀의 max/min 설정을 조정하여 과도한 커넥션 생성으로 인한 타임아웃을 방지했습니다.
이러한 개선 이후 응답 시간은 평균 35% 이상 단축되었고, 피크 시간대에도 안정적인 서비스를 제공할 수 있었습니다.
---
💡 팁:
실제 사용한 도구(ex: JMeter, Locust, Gatling 등)나 APM 툴(NewRelic, Datadog 등)을 언급하면 더욱 구체적이고 신뢰감이 생깁니다.
개선 전/후 수치를 간단히 제시하면 성과를 수치로 보여주는 인상적인 답변이 됩니다.
'Spring & Backend' 카테고리의 다른 글
| Micrometer가 무엇인지 설명해주세요. (0) | 2025.07.02 |
|---|---|
| 시간 복잡도와 공간 복잡도의 차이점은 무엇인가요? (0) | 2025.07.01 |
| Content-Type 헤더에 대해서 설명해주세요 (0) | 2025.06.30 |
| CDN이란 무엇인가요? (0) | 2025.06.30 |
| 쿼리 최적화를 해보셨나요? 어떤 쿼리가 문제였고, 어떻게 찾고 분석했으며, 어떻게 대응했는지 알려주세요. (2) | 2025.06.27 |
