From baa7ef4cc18b2e3d89a4f9204bb5da6fd61cc5b0 Mon Sep 17 00:00:00 2001 From: chobeebee Date: Fri, 2 Aug 2024 15:23:17 +0900 Subject: [PATCH] =?UTF-8?q?README=20=ED=8A=B8=EB=9F=AC=EB=B8=94=20?= =?UTF-8?q?=EC=8A=88=ED=8C=85,=20=EC=84=A4=EC=B9=98=20=EB=B0=A9=EB=B2=95?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 0f6cc4b..a649ec3 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ 클론 및 빌드 ``` - git clone https://github.com/yourusername/binplay.git + git clone https://github.com/chobeebee/binplay.git cd binplay ./gradlew build ``` @@ -54,12 +54,29 @@

 

## 🛠️트러블 슈팅 -### 1. 멀티 스레드 속도 향상 -### 2. 동시성 이슈 해결 +### 1. Spring Batch : 멀티 스레드 적용으로 5% 데이터 처리 속도 향상 +- 문제 상황
+119,200,000건 통계·정산 작업 실행 시, 데이터 처리 시간이 예상보다 지체되어 전체 배치 작업이 지연되는 상황 발생 +- 해결 과정
+동영상과 광고 별로 통계·정산을 그룹화하고 각 작업을 TaskExecutor를 사용하여 비동기적으로 실행한 후, CountDownLatch를 사용해 각 단계가 순차적으로 진행되도록 구현 +- 결과
+순차 처리 시간은 1224.057초 소요되고 병렬 처리 시간은 1163.192초 소요됨으로써 총 60.865초 단축 성공 + +### 2. 대량 데이터 삽입 및 최적화 +- 문제 상황
+ 1,000,000건의 대용량 데이터 처리에 대한 Spring Batch 속도를 측정하기 위해 + Spring Boot Test를 이용하여 데이터를 삽입하는 과정에서 538분 소요 시간이 발생 +- 해결 과정
+ 1) 프로시저를 작성하여 삽입 시도 + - 배치 처리를 통해 대량의 데이터를 효율적으로 삽입 → 처리 속도 61.97 분 + 2) 서브쿼리와 랜덤 값을 이용한 MySQL 쿼리 + - 단일 SQL 쿼리 내에서 대량의 데이터를 생성하고 삽입 → 처리 속도 22.42분 +- 결과
+ 기존 538분 소요 시간에서 515분을 단축하여 95.78% 성능 향상 달성

 

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