우아한테크캠프 PRO/우아한테크캠프 회고록

[우아한테크캠프 Pro] 6주차 미션 후기 (서비스 진단하기)

PI.314 2023. 1. 2. 00:46

우아한테크캠프 Pro 6주차 서비스 진단하기 미션을 진행한 내용과 후기를 정리해보았습니다.

 

미션 저장소

https://github.com/Gyeom/infra-subway-monitoring

 

GitHub - Gyeom/infra-subway-monitoring

Contribute to Gyeom/infra-subway-monitoring development by creating an account on GitHub.

github.com

 

학습 내용

  • USE 방법론을 활용하여 서버를 진단할 수 있고 쓰레드 덤프를 확인해봅니다.
  • webpageteat, pagespeed를 활용하여 웹 성능 예산을 고민해봅니다. 
  • 목표치를 정하고 부하테스트를 직접 수행해봅니다.

단계별 요구사항 및 PR 리뷰

🚀 1단계 - 웹 성능 테스트

  • 웹 성능 예산 작성 후 서버 목표 응답시간 도출

https://github.com/next-step/infra-subway-monitoring/pull/525

 

[김대겸] Step1 PR by Gyeom · Pull Request #525 · next-step/infra-subway-monitoring

안녕하세요 리뷰어님, 1단계 - 웹 성능 테스트 리뷰요청 드립니다. 감사합니다!

github.com

  • WebPageTest, PageSpeed 등에서 테스트를 진행한 후, 웹 성능 예산을 작성했다.
  • 크롬 브라우저 도구를 활용하여 퍼포먼스 탭에서 각 api별 요청 응답시간을 확인했고, 웹 성능 예산에 영향을 주는 api 를 확인해보고 가설을 세웠다.

🚀 2단계 - 부하테스트

 

  • 테스트 전제조건 정리
    • 대상 시스템 범위
    • 목푯값 설정 (latency, throughput, 부하 유지기간)
    • 부하 테스트 시 저장될 데이터 건수 및 크기
  • Smoke, Load, Stress 테스트 후 결과를 기록

https://github.com/next-step/infra-subway-monitoring/pull/569

 

[김대겸] Step2 PR by Gyeom · Pull Request #569 · next-step/infra-subway-monitoring

안녕하세요 리뷰어님, 2단계 부하테스트하기 PR 입니다. 이번 미션도 리뷰 잘 부탁드립니다 🙏 🙏 🙏

github.com


🚀 3단계 - 로깅, 모니터링

  • 애플리케이션 진단하기 실습을 진행해보고 문제가 되는 코드를 수정
  • 로그 설정하기
  • Cloudwatch로 모니터링

https://github.com/next-step/infra-subway-monitoring/pull/601

 

[김대겸] Step3 PR by Gyeom · Pull Request #601 · next-step/infra-subway-monitoring

안녕하세요 리뷰어님~ 3단계 - 로깅, 모니터링 리뷰 요청 드립니다. 이번에도 리뷰 잘 부탁드립니다 🙏 🙏 🙏

github.com

  • 로그는 오래된 순서대로 지워지도록 maxHistory를 설정해주자.

미션 회고

이번 미션을 통해 웹 성능 예산 작성, 부하테스트, 로깅 설정 등 서비스 진단에 필요한 실습들을 순차적으로 진행해 볼 수 있었다. 특히, 테스트 설정 값을 직접 구해보고 시나리오를 구성해보는 과정을 경험할 수 있어 흥미로웠고, 부하테스트 결과 값이 기대했던 값으로 잘 나오지 않아서 몇차례 다시 시도하느라 시간이 오래 걸렸지만 꽤 유익한 시간이었다.