본문 바로가기

Stress Test

(13)
[부하 테스트] Jmeter 설정 이번 장에서는 부하 테스트 진행을 위해 개발자 PC에 클라이언트 (Jmeter)를 설정하는 방법을 알아본다. 참고 문서 Jmeter Document(링크) Jmeter 설치 많은 블로그들에서는 Homebrew를 통해서 설치하는 방법으로 안내하고 있다. 필자의 경우 Homebrew를 통하여 설치하게 되면 Jmeter의 테마를 적용시키지 못하는 오류가 발생하기 때문에 필자는 공식홈페이지에 있는 파일을 다운받아서 설치하는 것을 추천한다. 공식 홈페이지(링크)에서 apache-jmeter-5.4.1.zip 파일을 다운로드 하거나 필자가 올려놓은 압축파일을 다운로드하여 적당한 위치에 압축을 풀어준다. 필자의 경우 아래의 이미지에 나와있는 것처럼 /Users/roy/Desktop/KST/roys/benchmark/..
[부하 테스트] 개요 이번 장부터는 필자가 재직 중인 회사에서 진행하는 신규 프로젝트의 사용자가 많아졌을 때를 대비한 벤치마크를 진행하고 실제로 동접자가 많아졌을 때 발생할 문제를 미리 발생시켜서 서비스 출시 이전에 서비스를 개선한 과정들에 대해서 살펴보도록 한다. 환경 부하 테스트 환경을 간략하게 그려보면 아래와 같다. 부하 테스트를 진행하는 개발자의 PC가 클라이언트 역할을 하게되어 EC2 Instance에서 실행되고 있는 서비스에 부하를 준다. Pinpoint Agent에 의해 Pinpoint Server로 전달된 도커 컨테이너 리소스 사용량을 개발자는 웹브라우저로 접속해서 확인한다. EC2 Instance에 설치되어 있는 nmon에 의해 생성된 {filename}.html 파일을 개발자 PC로 복사하여 리소스 사용량을..
[Pinpoint] 로컬 Agent 구축 최신 글(링크) 을 작성하였으므로 아래 방법 대신 최신 글을 참고하도록 한다. 이번 장에서는 로컬 환경에서 Pinpoint Agent를 우리들의 프로젝트에 설치하여 Pinpoint Server에서 확인하는 작업을 진행해본다. 이번 장에서는 우리들의 프로젝트가 공식 Github 페이지 (링크)에 올라가 있는 pinpoint-quickstart라 가정하고 진행해본다. Client Service 및 Agent 용 docker-compose.yml 파일 작성 [Pinpoint] 로컬 서버 구축 (링크)와 동일하게 Client와 Agent를 위한 yml 파일을 따로 분리할 것이다. pinpoint-quickstart와 pinpoint-agent를 제외한 서비스를 제거하였고 pinpoint-agent 서비스가 의존..
[Pinpoint] 로컬 서버 구축 최신 글(링크) 을 작성하였으므로 아래의 방법 대신 최신 글을 참고하도록 한다. 이번 장에서는 로컬 환경에서 Pinpoint 서버를 구축하는 방법에 대해서 알아본다. 공식 Github 페이지 (링크)에는 Pinpoint에서 만든 Sample 프로젝트에 Pinpoint Agent를 붙이는 방식으로 docker-compose.yml 파일이 구성되어 있다. 이러한 방식은 실제 상용 서비스에서는 사용하기 부적합하므로 Pinpoint Server용 pinpoint-server-docker-compose.yml 파일과 Pinpoint Agent용 pinpoint-agent-docker-compose.yml 파일을 분리하는 방식으로 구성하였다. 이외의 방식은 전부 동일하다. 만약 Docker와 Docker Compo..
[Pinpoint] 개념 이번 장에서는 Pinpoint에 대한 간단한 개념을 알아보고 다음 장부터 진행하는 APM 환경 구축을 위한 개념도를 그려보도록 한다. Pinpoint는 네이버에서 만든 대규모 APM 플랫폼이다. 이보다 더 많은 정보가 필요하다면 필자의 어설픈 설명보다는 아래의 공식문서를 확인해보면 좋을듯하다. 필자는 APM 역시 Docker 환경에서 구축하려고 한다. (확실히 Docker로 구축하면 처음에는 힘들지만 추후에 문서작성을 위한 재현은 참 편하다.) Naver D2 (링크) Pinpoint Docker Github (링크) 지금부터 '필자가 로컬에 구축하려하는 APM 환경'과 '상용 Pinpoint서버와 실제 서비스 서버 환경'에서 어떠한 방식으로 연동할 것인지 그림을 그려볼 것이..