nGrinder는 네이버에서 성능 측정 목적으로 jython(JVM위에서 파이썬이 동작)으로 개발 된 오픈소스 프로젝트이며, 2011년에 공개 하였습니다. 바닥부터 개발을 한 것이 아니라 The Grinder라는 오픈소스 기반에서 개발 하였습니다. nGrinder는서버에 대한 부하를 테스트 하는 것이므로 서버의 성능 측정이라고도 할 수 있습니다. 성능 측정이란 것은 실제 서비스에 투입 되기 전, 실제와 같은 환경을 만들어 놓고 서버가 사용자를 얼마 만큼 수용할 수 있는지를 실험 할 때 사용합니다. 만약 이와 같은 테스트를 하지 않으면, 엔지니어가 동시 접속자를 1000명정도로 예상하고 이에 맞는 설정을 구성하는데 예상에 넘는 동시 접속자가 발생해 버리면 서버가 죽어버려 서비스를 할 수 없는 문제가 있습니다. 이를 방지하기 위해 본 서비스에 앞서 테스트를 해 서버의 성능을 테스트 하는 것입니다.
version: '3.7'
services:
controller:
container_name: ngrinder-controller
image: ngrinder/controller:latest
restart: always
environment:
- TZ=Asia/Seoul
ports:
- "8880:80"
- "16001:16001"
- "12000-12009:12000-12009"
volumes:
- ./ngrinder-controller:/opt/ngrinder-controller
version: '3.7'
services:
agent-1:
container_name: ngrinder-agent-1
image: ngrinder/agent:latest
command: ["192.168.20.104:8880"]
environment:
- TZ=Asia/Seoul
volumes:
- ./ngrinder-agent-1:/opt/ngrinder-agent
agent-2:
container_name: ngrinder-agent-2
image: ngrinder/agent:latest
command: ["192.168.20.104:8880"]
environment:
- TZ=Asia/Seoul
volumes:
- ./ngrinder-agent-2:/opt/ngrinder-agent
agent-3:
container_name: ngrinder-agent-3
image: ngrinder/agent:latest
command: ["192.168.20.104:8880"]
environment:
- TZ=Asia/Seoul
volumes:
- ./ngrinder-agent-3:/opt/ngrinder-agent
agent-4:
container_name: ngrinder-agent-4
image: ngrinder/agent:latest
command: ["192.168.20.104:8880"]
environment:
- TZ=Asia/Seoul
volumes:
- ./ngrinder-agent-4:/opt/ngrinder-agent
agent-5:
container_name: ngrinder-agent-5
image: ngrinder/agent:latest
command: ["192.168.20.104:8880"]
environment:
- TZ=Asia/Seoul
volumes:
- ./ngrinder-agent-5:/opt/ngrinder-agent