2023.07.03 ~ 2023.07.04
안녕하세요, 저는 [Team 광이나지]의 팀원 Yoda.jedi 입니다.
저희 팀은 이번 스프린트 주제인 "nGrinder를 활용하여 Apache server와 Nginx로 구성된 웹 서버의 성능 개선 및 스트레스 테스트"에 대해 고민하고 실험한 결과를 여러분과 공유하고자 합니다.
저희 팀은 단순히 웹 서버를 튜닝하고 스케일 업/아웃하는 것을 넘어, 부하테스트의 본질에 대해 고민하였습니다. 개발자로서 필요한 다양한 애플리케이션에 부하가 발생했을 때 효율적인 구성을 통해 애플리케이션의 성능을 개선하는 방법에 집중하였습니다.
저희 Team은 해당 case를 알아보기 위해, 다음과 같은 환경을 구성하였습니다.
.
├── 전지영
│ └── IP -> 192.168.70.70
│ └── nGrinder controller -> 192.168.70.70:3333
│
├── 김나연
│ └── IP -> 192.168.70.56
│ │── blog_server [test01] -> 192.168.70.70:7051
│ │── blog_server [test02] -> 192.168.70.70:7052
│ │── blog_server [test03] -> 192.168.70.70:7053
│ │── blog_server [test04] -> 192.168.70.70:7054
│ │── blog_server [test05] -> 192.168.70.70:7055
│ └── blog_server [test06] -> 192.168.70.70:7056
│
├── 김광현
│ └── IP -> 192.168.70.61
│ └── nGrinder agent-01 -> attached nGrinder controller
│
└── 이세한
└── IP -> 192.168.70.48
└── nGrinder agent-02 -> attached nGrinder controller
첫 번째 실험에서는 웹 서버 자체에 비교적 큰 컴퓨터 자원을 할당하였지만, nGrinder를 이용한 부하 테스트 진행 시 nGrinder agent 리소스, docker resource, network IO 등, 외부 변수가 너무 많았습니다.*첫번째 삽질 구경하러가기*
따라서 두번째 실험에서는 더 의미있는 결과를 얻고자 고민하였고, 저희 팀은 웹 서버를 마이크로 서버로 구성하여 실험을 진행하기로 결정 하였습니다. 이를 통해 웹 서버의 작은 단위로써의 성능과 확장성을 테스트하고, 부하 상황에서의 웹 서버의 동작을 보다 직관적으로 관찰할 수 있게 되었습니다.