Skip to content

Kernel360/KDEV4-SODA-BE

Repository files navigation

SODA 로고

SODA : 소통의 사다리

2025년 03월 17일 ~ 2025년 06월 19일

웹 에이전시와 고객사 간의 원활한 협업을 위한
올인원 프로젝트 관리 플랫폼

SODA 바로가기

💡 주요 기능

로그인 어드민 대시보드 회사 생성
로그인 어드민대시보드 회사생성
유저 생성 프로젝트 생성 데이터 확인
유저생성 프로젝트생성 데이터로그
온보딩 유저 대시보드 승인요청 목록
온보딩 사용자대시보드 승인요청목록
질문 목록 알림 승인요청 생성
질문목록 알림 승인요청생성
승인응답 생성 질문 생성
승인응답생성 질문작성

🚀 부하 테스트 및 성능 개선


자세한 내용은 성능 개선에 기술해두었습니다.

부하 테스트 시나리오

실제 사용자 이용 패턴을 고려하여, 로그인 이후의 일반적인 워크플로우를 아래와 같이 구성했습니다.

  1. 최근 승인요청 조회 (22%)
  2. 최근 질문 조회 (22%)
  3. 참여 중인 프로젝트 조회 (22%)
  4. 프로젝트 상세 - 승인요청 조회 (20%)
  5. 프로젝트 상세 - 질문 조회 (10%)
  6. 승인요청 생성 (2%)
  7. 질문 생성 (2%)

부하 테스트 결과

단계 개선 전략 최대 TPS API 최대 응답시간 부하테스트 이후 병목 지점
0. 초기 상태 - 2.3/s 46s RDS CPU
1. 쿼리 최적화 N+1 해결, 인덱싱, 쿼리 최적화 ~50/s ~80ms EC2 CPU
2. Scale-out ELB + EC2 인스턴스 추가 ~160/s ~80ms EC2 CPU
3. 캐싱 적용 Redis 도입 ~200/s < 30ms EC2 CPU

API 성능 개선

API 명 개선 전 (p95) 최종 개선 후 (p95) 개선 방법 개선 결과
1. 사용자 최근 승인요청 목록 조회 약 29초 약 30ms N+1 해결, 쿼리 최적화, 인덱싱, 캐싱 약 967배 향상
2. 사용자 최근 질문 목록 조회 약 416ms 약 30ms 쿼리 최적화, 인덱싱, 캐싱 약 14배 향상
3. 참여중인 프로젝트 목록 조회 약 506ms 약 25ms 쿼리 최적화, 인덱싱, 캐싱 약 20배 향상
4. 특정 프로젝트 승인요청 목록 조회 약 150ms 약 70ms N+1 해결, 인덱싱 약 2.1배 향상
5. 특정 프로젝트 질문 목록 조회 약 661ms 약 129ms N+1 해결, 인덱싱 약 5.1배 향상

⚙️ 시스템 아키텍처

image

👨‍🔧 기술 스택

Java 17 Spring Boot 3.4.3 Spring Data JPA Spring Security Spring MVC

MySQL MongoDB Redis QueryDSL 5.0.0 (Jakarta)

SpringDoc OpenAPI (Swagger) 2.8.5

JWT (jjwt, java-jwt)

AWS S3 (SDK v2) Spring Mail (SMTP)

Lombok ModelMapper 3.2.0 Jackson JSR310 Spring Dotenv 4.0.0 Bean Validation

Logstash Logback Encoder 7.4

Gradle JUnit 5

👨‍💻 팀원 소개

이름 역할 깃허브
정서연 프론트 CI/CD 구축
Project, Project Article, Comment API 개발
seoyeon-jung
조준범 백엔드 CI/CD 구축
Request, Response API 개발
시스템 로그, 데이터 로그 API 개발
JUNBEOM CHO
윤다빈 User, Company, Notification API 개발
Spring Security
yoodab

팀 협업 과정이 궁금하다면? 👉 팀 노션 바로가기

About

4기 4조 'SODA' 백엔드 repository입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages