썸네일 프로젝트 성능 개선기(nGrinder을 활용한 부하 테스트) 팀 프로젝트 종료 후, 개인적으로 Fork하여 학습을 시작한 이유지난 1월 말, 팀 프로젝트가 종료되면서 개인적으로 새로운 기능을 추가하거나 기존 코드를 변경하는 것이 쉽지 않다고 판단했다. 협업 프로젝트에서는 함부로 commit하거나 push하는 것이 위험할 수 있기 때문이다. 그동안 백엔드 관련 지식을 꾸준히 쌓아왔지만, 실제 성능 테스트를 진행할 기회는 적었다. 로컬 환경에서 Docker를 활용해 모니터링 시스템을 구축하고, 쿼리 최적화 등을 진행하긴 했지만, 결국 Docker는 호스트의 자원을 사용하기 때문에 실제 트래픽 환경을 완벽하게 재현하기 어렵다는 한계를 느꼈다. 또한, Grafana + Prometheus를 활용한 기본적인 모니터링은 학습했지만, • 어떤 메트릭을 중점적으로 봐야 하는지 ..
썸네일 트래픽이 많아지는 상황에서 나는 어떻게 대처할 수 있을까? 지금까지 나는 단순히 스프링 프레임워크를 사용하여 CRUD를 만들고.. API를 만들고.. 비즈니스 로직을 어떻게 할지에 대한 고민만 해왔다. 하지만, 점점 더 공부를 해나갈 수록 결국 내가 원하는 목표는 사용자들이 이용하는 서비스를 만드는 것이라는 것을 깨닫게 되었다. 실제 사용자를 받아서 트래픽이 많아서 서버가 장애를 겪는다거나 하는 문제를 현재로서는 경험해보지 못했지만, 그런 상황에 대비한 공부가 필요할 것이라 생각하였다. 필요한 부분들을 생각해보니, 어느 부분을 개선해야하는지 파악하기 위한 모니터링 시스템, 서버에 트래픽이 몰릴 경우 이를 분산시키기 위한 로드밸런싱 처리, db의 장애상황을 대비하고 부하를 분산하기 위한 DB이중화 처리가 필요할 것으로 생각되어 이에 관한 내용들을 작성하고자 한다...