기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
부하 테스트를 위한 기본 계획
부하 테스트에 적합한 도구와 설정을 결정하려면 테스트를 실행하는 이유를 명확히 해야 합니다. 올바른 유형의 테스트를 통해 다음 질문에 답해야 합니다.
-
애플리케이션이 어느 정도의 로드를 견딜 수 있나요?
-
애플리케이션에서 X 로드를 처리할 수 있나요?
-
애플리케이션이 자동으로 스케일 업되고 스케일 다운되나요?
-
X의 로드 양으로 인해 시간이 지날수록 애플리케이션 동작이 저하되는가?
-
애플리케이션이 제대로 작동하나요? (일반적인 부하 테스트는 아니지만 부하 테스트 도구를 사용하여 애플리케이션이 예상대로 작동하는지 확인할 수 있습니다.)
테스트 복잡성 결정
테스트 복잡성은 평가 완성도에 따라 결정됩니다. Hey
다른 경우에는 복잡한 동작을 수행하기 위해 테스트가 필요할 수 있습니다. 프로세스를 시작하기 전에 로그인해야 하거나 품목 선택 및 구매 수행을 포함하는 주문 프로세스를 테스트하는 경우를 예로 들 수 있습니다. 이는 시나리오로 이해할 수 있습니다. 시나리오를 테스트하려면 실제 상황에 맞게 워크로드를 구성할 수 있는 보다 복잡한 부하 테스트 도구가 필요합니다. 이를 통해 최종 사용자가 경험하게 될 성능을 평가하는 데 사용할 수 있는 결과를 얻을 수 있습니다.
테스트가 복잡하면 부하가 발생하는 시스템에 더 많은 부하가 발생합니다. 부하 테스트를 실행할 때는 도구뿐만 아니라 도구를 실행하는 시스템도 고려해야 합니다. CPU 및 네트워크 대역폭이 가장 중요한 측면입니다. 잘못 설계된 부하 테스트 컴퓨터 시스템은 잘못된 결과를 초래할 수 있습니다. 예를 들어, 단일 시스템으로는 성능이 좋은 대상에 부하를 발생시키기에 충분하지 않습니다. 그 전에 분산 부하 테스트를 설정해야 합니다. 반면, 성능이 좋은 도구를 사용하면 단일 서버에서 더 많은 부하를 발생시킬 수 있습니다. 이 내용은 테스트 설정에 대한 설명에서 더 자세히 다룰 예정입니다.
측정 및 설정
테스트 환경의 대표성을 고려해야 합니다. 수천 대의 서버가 있는 대규모 쇼핑 사이트를 운영하는 경우 최종 사용자에게 영향을 주지 않고 프로덕션을 테스트하거나 사이트 크기를 복제하는 테스트 환경을 구축하기가 어려울 수 있습니다. 또한 이 규모로 시스템에 스트레스를 가할 만큼 충분한 트래픽을 생성하려면 정교한 부하 테스트 설정이 필요합니다. 이러한 이유로 부하 테스트는 일반적으로 프로덕션 환경에 대한 가정을 도출하는 데 사용할 수 있는 더 작고 유사한 설정에서 실행됩니다. 기준이나 기능 요구 사항을 설정하는 테스트는 프로덕션 환경에서 실행할 수 있습니다.
사양을 잘 정의하여 대상 환경 규모에 따라 예상되는 결과를 얻을 수 있도록 후속 테스트를 위해 테스트 환경을 문서화하는 것이 좋습니다.
부하 테스트의 영향을 받는 인프라의 모든 요소를 고려하세요. 테스트에서는 호스트의 CPU와 메모리를 살펴보는 경우가 많지만, 고려해야 할 다른 부작용도 있습니다.
일반적인 부작용은 서비스 간 통신을 위한 네트워크 대역폭이 한계에 도달할 수 있다는 것입니다. 인터넷을 통해 연결된 서비스 또는 분산 시스템의 경우 통신은 일반적으로 네트워크를 기반으로 이루어집니다. 애플리케이션에 스트레스를 주는 부하 테스트를 사용하면 기본 네트워크 인프라에도 스트레스가 가해집니다.
부하 모델링 및 단계별 테스트
다양한 테스트의 경우 테스트 과정에서 생성되는 부하의 양을 모델링할 수 있습니다. 기본 방법은 시간이 지남에 따라 부하를 점진적으로 늘리는 단계별 진행을 만드는 것입니다. 이렇게 하면 각 단계마다 고유한 데이터 포인트가 생성되므로 한 번의 테스트로 더 자세한 결론을 도출할 수 있습니다. 애플리케이션과 관련된 제한을 찾으려면 최상의 성능을 기대할 수 있는 일반적인 사용량보다 낮은 부하로 테스트를 시작하는 것이 좋습니다. 부하를 점차 늘리면 애플리케이션 성능이 저하되는 한계가 나타납니다. 예상된 동작이 여전히 유효한지, 오류가 있는 상황에서 애플리케이션이 예상대로 작동하는지 여부가 결과에 표시됩니다. 예를 들어 한도를 초과하여 테스트하는 경우 애플리케이션의 부하 제한
복잡한 도구를 사용하여 패턴을 테스트용 구성으로 설정할 수 있습니다. 이를 통해 일정 기간 동안 발생할 부하량과 증가 또는 감소 방식이 정의됩니다.
대부분의 기본 도구는 명령줄 도구이므로 솔루션을 직접 스크립팅해야 합니다. 스크립트를 직접 작성할 때는 보관하려는 지표를 실수로 덮어쓰지 않도록 합니다. 이전 반복 결과를 덮어쓰지 않도록 출력 파일에는 각 반복마다 새 접미사가 있어야 합니다.