일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 항해 추천인
- Python
- 자바의정석 연습문제
- 불친절한 SQL 프로그래밍
- 항해 추천인코드
- 서블릿
- 스프링 핵심원리
- 제네릭
- 항해플러스 백엔드 7기
- 김영한
- 이것이자바다
- 스프링입문
- Numpy
- 스프링MVC
- java
- 스프링
- Spring
- 자바공부
- Java의정석
- 항해플러스회고
- Secure Coding
- 불친절한SQL프로그래밍
- 스프링 부트와 JPA
- 항해플러스
- 항해플러스 회고
- 인프런
- JPA
- 항해플러스 백엔드
- 자바의정석
- 시큐어코딩
- Today
- Total
Continuous Challenge
[항해플러스 7기 백엔드] 8주차 회고 - Index를 활용한 성능 개선, MSA구조에서 트랜잭션 처리의 한계와 해결방안 본문
[항해플러스 7기 백엔드] 8주차 회고 - Index를 활용한 성능 개선, MSA구조에서 트랜잭션 처리의 한계와 해결방안
응굥 2025. 3. 16. 00:14
늦어졌지만 이제서야 올리는 8주차 회고 아닌 회고..!
8주차부터는 문서 작성 과제가 주어지면서 개발을 할 때보다 더 머리가 아팠던 기억이 있다.
Index를 활용한 성능 개선
더미데이터 생성부터 쉽지 않았던, 인덱스를 활용하여 성능 개선하기
다양한 케이스에 대하여 인덱스를 설정해보고 테스트 해보면서, 인덱스 설계에서 고려해야할 점들을 생각해볼 수 있었다.
hhplus-ecommerce/docs/index.md at 04e2c333422f30e4e46e06d5bfebff1fa3607c85 · o3ozzvb/hhplus-ecommerce
Contribute to o3ozzvb/hhplus-ecommerce development by creating an account on GitHub.
github.com
인덱스 비교 및 성능 테스트 방법
0. 테스트 환경 구성
- 동일한 환경의 DB를 2개 세팅하여 인덱스 생성 전과 후를 비교할 수 있도록 한다.
1. 더미데이터를 생성한다.
- 더미데이터를 생성하는 방법도 여러가지가 있는데, 그 중에서 java 파일에서 샘플 데이터를 생성하여 멀티 쓰레드를 활용해 병렬 처리로 데이터를 생성하였다. 이 방법을 사용하면 Enum 필드 값을 랜덤으로 가져올 때 용이하다는 장점이 있다. 또한 더미데이터 생성코드를 repo에 포함할 수 있어 코드 관리와 코드 재사용에 유리하다.
2. 조회 쿼리 추출
- 서비스 내 모든 조회 쿼리를 추출하여 성능 개선이 필요한 쿼리를 선별한다.
3. 인덱스 후보를 선정하고, 각 인덱스를 적용해가며 성능을 측정 및 비교한다.
MSA구조에서 트랜잭션 처리의 한계와 해결방안
hhplus-ecommerce/docs/msa.md at 92dd491eeb2f58b24af673832e8af7562e621e41 · o3ozzvb/hhplus-ecommerce
Contribute to o3ozzvb/hhplus-ecommerce development by creating an account on GitHub.
github.com