생각정리/항해99
[실전 프로젝트] 5주차 - 1
생각중임
2023. 11. 17. 11:50
부하 테스트
서버의 Thread Pool 늘리기
동시에 10000개의 요청을 보냈을 때, 8000개 부근에서 계속해서 에러가 발생
-> 확인을 해보니 스프링 기본 max-connections가 8192개 여서 8192개 이상의 스레드가 생성되지 못해서 오류가 발생하는 것으로 예상해서 max-connections를 수정해서 테스트를 진행을 해보기로 함
max-connections를10000으로 늘리고 테스트 진행
-> 오히려 스레드 간의 콘텍스트 스위칭이 발생하여 오버헤드가 발생해 더 느려짐
스레드 문제가 아닌 것 같아 좀 더 다양한 정보를 보기 위해 모니터링 프로그램 사용을 고려해보았습니다.
프로메테우스
애플리케이션에서 발생한 메트릭을 그 순간만 확인하는 것이 아니라 과거 이력까지 함께 확인하려면 메트릭을 보관하는 DB가 필요하다. 이렇게 하려면 어디선가 메트릭을 지속해서 수집하고 DB에 저장해야 한다. 프로메테우스가 바로 이런 역할을 담당한다.
그라파나
프로메테우스가 DB라고 하면, 이 DB에 있는 데이터를 불러서 사용자가 보기 편하게 보여주는 대시보드가 필요하다. 그라파나는 매우 유연하고, 데이터를 그래프로 보여주는 툴이다. 수 많은 그래프를 제공하고, 프로메테우스를 포함한 다양한 데이터소스를 지원한다.
타임 아웃과 CPU사용을 봤을 때 과부하로 인해 문제가 발생하는 것으로 보고 사용하고 있는 기본 프리티어의 서버를 스케일업이나 스케일 아웃을 어떻게 할 지 생각하기로 합니다.