성능 테스트 리팩토링 - 아키텍처


- 스케일 아웃(Scale-Out)
- AWS 로드 밸런서를 사용하여 애플리케이션을 여러 서버로 분산
- 트래픽을 균형있게 분배하고 고가용성을 제공하는 데 도움을 줌
- 분산 시스템 아키텍처
- 마이크로서비스 아키텍처를 고려하여 각 부분을 독립적으로 스케일 아웃하고 확장성 제공
- 서버 리소스 최적화
- 서버 리소스(
CPU
,메모리
,디스크
)를 최적화하고 운영체제 및 웹 서버 설정을 튜닝
- 서버 리소스(
성능 테스트 리팩토링 - 어플리케이션
- 캐싱 활용
- 게시글 목록, 사용자 프로필, 이미지 등 자주 접근하는 데이터 캐시
Ehcache
,Redis
, 또는 기타 캐싱 솔루션을 사용한 성능 향상 가능
- 비동기 프로그래밍
- Spring의 비동기 서비스 및 메시징을 활용해 요청과 응답을 병렬로 처리
- 병목 현상 완화
- Spring의 비동기 서비스 및 메시징을 활용해 요청과 응답을 병렬로 처리
- 알고리즘 및 비즈니스 로직 최적화
- 비즈니스 로직에서 성능에 영향을 미치는 부분을 개선하고, 불필요한 반복 작업 최소화
성능 테스트 리팩토링 - 데이터베이스

- 실행 계획을 통한 쿼리 최적화
- 데이터베이스 쿼리를 검토하고 복잡한 쿼리를 최적화
- 인덱스, 조인, 서브쿼리 등을 개선하여 데이터베이스 성능 향상
- 데이터베이스 실행 계획을 확인하고 병목 현상을 식별해 인덱스 또는 조인을 추가하거나 변경
- 인덱스 최적화
- 자주 검색되는 열에 적절한 인덱스를 생성
- 복합 인덱스를 고려하여 검색 속도 높임
- 데이터베이스 분리
- 데이터베이스를 읽기 전용과 쓰기 전용으로 분리하여 읽기 작업에 관한 부하를 줄임(CQRS?)
- 데이터 정규화 및 역정규화
- 데이터베이스 정규화를 통해 데이터 중복을 최소화하고 역정규화를 통해 읽기 성능 향상
'Spring > 유용한 정보' 카테고리의 다른 글
[Spring] Tomcat Thread Pool (0) | 2025.01.12 |
---|---|
[성능 테스트] Locust 활용 (0) | 2024.11.19 |
[성능 테스트] 성능 테스트 툴 (0) | 2024.11.18 |
[성능 테스트] 성능 테스트란 (0) | 2024.11.18 |
DB ERD 툴 (0) | 2024.11.12 |