
프로젝트:샐로그 / 성능 테스트 - MySQL Exporter 추가 / 분석
개요 저번 포스트에서 언급했듯이 지금까지의 매트릭 중에는 DB 관련, 쿼리 관련 매트릭이 없었다. 그렇기 때문에 GC의 문제점 이외에도 별개의 문제가 존재할 가능성을 확인할 수 없었는데, 이 기회에 MySQL Exporter를 설치하고 별도로 DB 매트릭을 수집함으로써 DB 구조나 쿼리에 문제가 있는지 확인할 수 있게 되었다. 이외에도 쿼리 ...
개요 저번 포스트에서 언급했듯이 지금까지의 매트릭 중에는 DB 관련, 쿼리 관련 매트릭이 없었다. 그렇기 때문에 GC의 문제점 이외에도 별개의 문제가 존재할 가능성을 확인할 수 없었는데, 이 기회에 MySQL Exporter를 설치하고 별도로 DB 매트릭을 수집함으로써 DB 구조나 쿼리에 문제가 있는지 확인할 수 있게 되었다. 이외에도 쿼리 ...
개요 이전 포스트에서는 부하 테스트만 진행해 보았고 이번에는 H2 데이터 베이스를 사용할 때와 마찬가지로 프로메테우스를 활용하여 매트릭을 수집하고 그라파나를 통해 시각화를 진행했다. 우선 말하지만 그라파나의 경우 대쉬보드를 이전에 사용하던 패널들을 그대로 가져왔기 때문에 동일하며, 프로메테우스도 별다른 설정 변경은 없었다. 한 가지 특별한...
개요 지난 번에 이어 이번 포스트는 로컬 환경에서 테스트 브랜치를 분리하여 DB를 로컬 MySQL로 연결, 부하테스트를 진행해 본 결과를 작성한다. 기본적으로 Application.yaml 파일에서 기존 H2와의 연결을 끊고 MySQL을 연결하였으며 곧바로 JMeter를 활용하여 부하 테스트를 동일하게 진행해보았다. 순서대로 MySQL과 어떻...
개요 지난 번에 이어서 프로메테우스와 그라파나에 대한 내용을 알아냈으니 이번에는 적용해볼 차례다. 우선 생각보다 사용 자체는 복잡하지 않고 단순히 파일을 다운로드 받고 사용만 하면 되었다. 물론 몇 가지 설정 파일에 들어갈 내용이 있기는 하지만 그리 복잡하지는 않았다. 한 가지 유의할 점은 모든 작업은 Windows 환경(GUI)에서...
개요 우선 실제로 샐로그 프로젝트에 적용해보기 전에 프로메테우스가 어떤 것인지, 그리고 시각화를 위해 사용한 그라파나가 어떤 것인지 먼저 알아보아야 한다. 모니터링이 무엇인지, 원리는 어떻게 되는지 생각하면서 진행해보자. 실제 사용에 관해서는 샐로그에 적용해보면서 진행할 예정이기 때문에 샐로그 카테고리의 포스트를 별도로 작성할 예정이다. ...
개요 직전 성능 테스트 도구에 대한 포스트를 진행하고 바로 샐로그 프로젝트에 해당 도구를 사용해서 테스트를 진행해 보았다. 우선 부하 테스트를 진행했는데, 모니터링 없이 부하만 주어보았다. 이는 대규모 트래픽에 대한 테스트라 볼 수 있는데, 사실 이 “대규모 트래픽”이라는 것에 대한 기준이 애매하다. 어디서는 1만 건의 요청이 10초 이...
개요 자바 스프링부트로 제작된 샐로그의 성능 테스트를 위해 어떤 도구를 사용해야하는지, 그리고 각 도구의 특징과 기능, 장단점을 살펴보아야 한다. 내용을 살펴보고 어떤 도구를 선정해서 진행해볼지 생각해보자. 성능 테스트 도구 종류 도구는 보편적으로 사용되는 세 가지 정도를 살펴볼 것이다. 수 많은 도구가 있지만 개발자들 사이에서 가...
개요 이전 정보처리기사 시험을 준비할 때 서버의 성능 테스트에 관련해 공부한 적이 있다. 성능 테스트를 거치면 서버의 안정성, 속도, 확장성 등을 평가할 수 있는데, 이를 통해 애플리케이션 서버의 품질을 높일 수 있게 된다. 샐로그 프로젝트의 성능 테스트를 진행하기 전에 간단히 서버 성능 테스트의 개념과 종류에 대해 알고가고자 이 포스트를...
개요 이번 포스트는 API 문서화에 관해서이다. 이전 포스트에서 회원 통합 테스트를 살펴보았는데, 테스트 케이스 로직 자체는 수입이나 회원이나 크게 다를게 없다. 그래서 직접 깃헙에 가서 코드를 보고 파악하는 편이 좋다고 생각한다. API 문서화는 이전에 한번 학습한 적이 있었지만 이번 처럼 프로젝트 진행 중에 출력해본 것은 처음이다. ...
개요 슬라이스 테스트와 유닛 테스트를 마무리하고 다시 통합 테스트를 진행했다. 회원과 수입 외에도 고정수입, 예산에 대한 테스트를 진행했었지만 해당 내용은 크게 다룰 내용이 없기 때문에 별도로 작성하지 않았다. 기본적으로 수입에 있는 기능과 비슷하거나 간단한 CRUD 정도 밖에 없기 때문에 문제될 내용이 없었다. 또한 통합 테스트에서도 다룰...