실제 배포된 서버 상에서 Artillery 같은 부하 테스트 도구의 필요성은 배포 환경, 애플리케이션의 성격, 그리고 운영 팀의 요구 사항에 따라 달라질 수 있습니다. 일반적으로 부하 테스트는 개발 과정이나 스테이징 환경에서 주로 수행되며, 실제 운영 환경에서는 부하 테스트를 직접 실행하는 것이 일반적이지 않습니다. 그럼에도 불구하고, 실제 배포된 서버에서 Artillery를 포함한 부하 테스트 도구가 필요한 몇 가지 상황을 고려할 수 있습니다:
성능 벤치마킹: 새로운 인프라 또는 서버가 도입되었을 때, 이전 환경과 비교하여 성능을 평가하고 벤치마킹하기 위해 실제 환경에서 부하 테스트를 수행할 수 있습니다.
성능 최적화: 배포된 애플리케이션의 성능을 지속적으로 모니터링하고 최적화하는 과정에서, 특정 변경 사항이나 업데이트가 성능에 미치는 영향을 정확히 평가하기 위해 부하 테스트를 할 수 있습니다.
스케일링 전략 검증: 클라우드 환경에서 자동 스케일링을 구성한 경우, 예상되는 최대 트래픽이나 부하 상황에서 시스템이 어떻게 반응하는지 테스트하여 스케일링 전략의 적절성을 검증할 수 있습니다.
재난 복구 및 고가용성 테스트: 고가용성이 중요한 서비스의 경우, 예상치 못한 높은 트래픽이나 부하 상황에서도 시스템이 얼마나 잘 복구되고 유지되는지 확인하기 위한 테스트가 필요할 수 있습니다.
그러나 실제 운영 환경에서 부하 테스트를 수행할 때는 주의해야 합니다. 실제 사용자에게 영향을 줄 수 있는 위험이 있으므로, 다음과 같은 사항을 고려해야 합니다:
저통행 시간대 선택: 사용자에게 최소한의 영향을 주기 위해, 트래픽이 가장 낮은 시간대에 테스트를 계획합니다.
사전 통지: 필요한 경우, 내부 팀이나 사용자에게 테스트에 대해 사전에 알립니다.
모니터링: 테스트 중에 시스템의 성능과 안정성을 면밀히 모니터링하여 문제가 발생하면 즉시 대응할 수 있도록 합니다.
부하 테스트는 실제 운영 환경에서 매우 신중하게 수행되어야 하며, 가능하다면 운영 환경과 동일하게 구성된 별도의 테스트 환경에서 수행하는 것이 바람직합니다.