[QRworld] 일정 및 성능 목표 잡기

suhwani·2025년 5월 29일
0
post-thumbnail

오랜만에 블로그를 써보는 것 같아요! 요즘 취업 준비하며 인턴 이어가면서, 제가 진행하던 SIGMA 프로젝트가 팀을 꾸려 프로덕션으로 전환하면서 바쁘게 살고 있습니다. 😀
인턴이지만, 야근도 하며, 행사에서 홍보도 하면서 이제야 빛을 보는구나 싶기도 해서 만족하며 지내고 있습니다.
이번 글에서는 한 달 정도 저녁 시간에 만든 프로젝트인 "QRworld"의 개발 과정을 소개하고, 앞으로 남은 일정을 공유드리려고 합니다.

현재 진행 상황과 남은 일정


서비스 소개
짧게 서비스를 소개하자면, 선착순 입장 서비스입니다.
QR코드는 간편한 입장을 위한 매개체이고, 단체나 행사에서 이벤트, 인원 모집 등 선착순으로 등록하기 위한 상황에 사용하는 서비스입니다.

현재 진행 상황

  • 클라이언트: 대부분 구현 완료
  • 서버: 대부분 구현 완료 -> 인증, 동시성 처리 개선 필요
  • 배포: 배포 예정

앞으로 일정
1. API 테스트 및 성능 지표 확인
2. 배포하기
3. 배포 자동화하기
4. 홍보하고 실제 사용자 의견에 반영하기

작업별 기간

  • 구현: 2025.05.01 ~ 2025.06.01
  • 테스트 및 홍보: 2025.06.01 ~ 2025.07.01

성능 목표
10초 내에 1000명, 10000명이 몰릴 경우를 대비하고 싶어요.
무작정 하드웨어나 아키텍쳐를 키우는 것 대신 최소한의 비용으로 최대의 효율을 낼겁니다.

배포 환경

  • API 서버
클라우드 서비스: AWS EC2
인스턴스: t4g.small	
메모리: 2GB	
vCPU: 2 개 
  • DB 서버
클라우드 서비스: AWS RDS
인스턴스: db.t4g.small
메모리: 2GB	
vCPU: 2개

테스트 환경

테스트는 Docker 컨테이너 활용해 리소스를 제한하여 진행합니다.
배포 환경보다 제한을 두는 이유는 하드웨어 스케일업이 미치는 효과를 알아보고, 개선을 진행하는 동안 불필요한 비용을 없애기 위해 로컬 기기의 리소스를 나눠야하기 때문입니다.

  • 테스트 기기
프로세서: MacBook Air M1
설치된 메모리(RAM): 16GB 
vCPU: 8개
디스크: 256GB 중 남은 공간 30GB
  • API 서버
설치된 메모리(RAM): 1GB 
vCPU: 1개
  • DB 서버
설치된 메모리(RAM): 512MB
vCPU: 1개 
디스크: 1GB

앞으로 진행하는 과정은 블로그에 글로 작성하여 공유하려고 합니다.
🙂 많은 관심 부탁드립니다. 🙂

profile
Backend-Developer

0개의 댓글