Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BE] 약속 조회, 약속 추천시 빠른 응답을 위해 캐시를 적용해요 :) #431

Open
4 tasks
ikjo39 opened this issue Nov 6, 2024 · 0 comments
Open
4 tasks
Assignees
Labels
🐈‍⬛ 백엔드 백엔드 관련 이슈에요 :) 🚀 기능 기능을 개발해요 :)

Comments

@ikjo39
Copy link
Contributor

ikjo39 commented Nov 6, 2024

이슈 요약

최근 운영 서버에 대한 부하테스트를 통해 최대 응답 지연 시간이 4초 이상으로 커지는 현상을 발견하였는데요. 또한 적은 표본에도 CPU 처리률이 쉽게 100%를 넘는 것을 보아 데이터베이스에서의 성능 저하보다 CPU에서의 연산 처리량에 의해 성능 저하가 크다는 사실을 파악하는데요.

  • 부하테스트 환경
    • 테이블 당 천만 건의 데이터
    • 최악의 조건 약속(1개의 약속-20명의 참가자-15일의 약속후보-48개 시간슬롯)
    • 1초에 1번씩 n명이 동시에 요청을 보냄
  • 부하테스트 결과(평균)
    • 50명이 동시에 요청을 보낸다 가정하였을 때 평균 TPS 15.4, 평균 응답 시간 4초
    • CPU 처리량 100%

2017년 구글 리서치에 따르면 1-5초 이내의 로딩 시간을 가진 서비스에 대해 90%의 이탈률이 발생하는 것을 알 수 있는데요.

이탈률(Bounce Rate) = 이탈 수 / 페이지 세션 X 100%

이를 개선하고자 캐시를 도입하여 추후 50명 이상의 동시 요청이 들어와도 견딜 수 있도록 성능을 개선하려 합니다.

상세 작업 내용

  • 로컬 캐시와 글로벌 캐시의 고려
  • 캐시 전략 고민
  • 캐시 구현 및 테스트 코드 작성
  • 부하테스트를 통한 성능 측정

레퍼런스

Find Out How You Stack Up to New Industry Benchmarks for Mobile Page Speed

@ikjo39 ikjo39 self-assigned this Nov 6, 2024
@ikjo39 ikjo39 added 🐈‍⬛ 백엔드 백엔드 관련 이슈에요 :) 🚀 기능 기능을 개발해요 :) labels Nov 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐈‍⬛ 백엔드 백엔드 관련 이슈에요 :) 🚀 기능 기능을 개발해요 :)
Projects
Status: No status
Development

No branches or pull requests

1 participant