올바른 성능 테스트란 무엇일까요?

백엔드 기준 학습의 목적으로 프로젝트를 하다 보면 마지막에는 대부분 성능 테스트로 마무리를 하곤 합니다.(물론 FE나 다른 개발에서도 성능 테스트를 하기도 합니다.) 부하를 유발해서 내가 만든 애플리케이션이 어느 정도의 성능을 나타내는지를 확인하는 과정인데 개발이 끝나서 쉬어도 될 판에 성능 테스트를 하는 이유를 모른 채 그저 남들이 하니까 하는 "의미 없는" 성능 테스트를 하는 경우가 있는 것 같습니다. TPS가 100이면 어떻고 1,000이면 어떻게 되는 걸까요?


성능 테스트는 단일 서버에서 운영하는 애플리케이션이 어느 정도의 성능을 내는지 부하를 유발해 확인하는 과정으로 cpu나 memory의 수치를 함께 확인하면서 최대한의 성능을 끌어올리는 과정이라 생각합니다. 그러면서 병목을 확인하고 (프로파일링) 코드나 쿼리를 수정하거나 인프라 구조를 변경하여 최적의 성능을 찾는 과정이죠. 그렇게 여러 가지 방식으로 성능을 개선하고 더 이상 단일 서버에서 개선할 부분이 없을 때 그 이후에는 수평적 확장(Scale out)을 통해 트래픽의 크기와 기존에 검증했던 성능을 계산하여 산술적으로 늘려나가게 됩니다. 이때 체크했던 성능까지 도달하는지를 모니터링하면서 수동으로 서버를 확장하기도 하고 요즘엔 컨테이너 방식의 서버를 구성하곤 해서 자동으로 늘리기도 하죠. (HPA)


성능 테스트에 국한된 이야기는 아니지만 다루는 기술, 사용하는 파이프라인이 왜 사용되는지 어떻게 활용할 수 있는지에 대한 "왜"라는 고민이 필요하지 않을까 싶습니다.


https://www.youtube.com/watch?v=20dhBGPQ6aA


올바른 성능 테스트란 무엇일까요?

www.youtube.com

올바른 성능 테스트란 무엇일까요?

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2024년 1월 24일 오후 10:26

 • 

저장 55조회 5,697

댓글 0