Skip to content

Commit

Permalink
README 트러블 슈팅, 설치 방법 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
chobeebee committed Aug 2, 2024
1 parent bff0ee3 commit baa7ef4
Showing 1 changed file with 21 additions and 4 deletions.
25 changes: 21 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
<summary>클론 및 빌드</summary>

```
git clone https://github.com/yourusername/binplay.git
git clone https://github.com/chobeebee/binplay.git
cd binplay
./gradlew build
```
Expand All @@ -54,12 +54,29 @@
<p>&#160;</p>

## 🛠️트러블 슈팅
### 1. 멀티 스레드 속도 향상
### 2. 동시성 이슈 해결
### 1. Spring Batch : 멀티 스레드 적용으로 5% 데이터 처리 속도 향상
- 문제 상황 <br>
119,200,000건 통계·정산 작업 실행 시, 데이터 처리 시간이 예상보다 지체되어 전체 배치 작업이 지연되는 상황 발생
- 해결 과정 <br>
동영상과 광고 별로 통계·정산을 그룹화하고 각 작업을 TaskExecutor를 사용하여 비동기적으로 실행한 후, CountDownLatch를 사용해 각 단계가 순차적으로 진행되도록 구현
- 결과 <br>
순차 처리 시간은 1224.057초 소요되고 병렬 처리 시간은 1163.192초 소요됨으로써 총 60.865초 단축 성공

### 2. 대량 데이터 삽입 및 최적화
- 문제 상황 <br>
1,000,000건의 대용량 데이터 처리에 대한 Spring Batch 속도를 측정하기 위해
Spring Boot Test를 이용하여 데이터를 삽입하는 과정에서 538분 소요 시간이 발생
- 해결 과정 <br>
1) 프로시저를 작성하여 삽입 시도
- 배치 처리를 통해 대량의 데이터를 효율적으로 삽입 → 처리 속도 61.97 분
2) 서브쿼리와 랜덤 값을 이용한 MySQL 쿼리
- 단일 SQL 쿼리 내에서 대량의 데이터를 생성하고 삽입 → 처리 속도 22.42분
- 결과 <br>
기존 538분 소요 시간에서 515분을 단축하여 95.78% 성능 향상 달성

<p>&#160;</p>

## 🎯주요 기능
## 🕹️상세 기능
### 회원가입
- 구글 소셜 로그인 연동을 통해 간편하게 회원가입 및 로그인이 가능합니다.
### 동영상 관리
Expand Down

0 comments on commit baa7ef4

Please sign in to comment.