개인적으로 "세션 재생을 통한로드 테스트"라고 부릅니다. 나는 이런 종류의 테스트 기술에 대한 간단한 포괄 용어를 모른다.
이런 종류의로드 테스트에 사용 된 기본 전략은 프로덕션 시스템에서 로그 파일을 수집하여 테스트 시스템에서 재생하는 것입니다.
JMeter 또는 Apache Bench 와 같은 도구를 사용 하여 로그 파일의 요청을 재생할 수 있습니다. 매우 복잡한 클라이언트 / 서버 상호 작용 (원래 로그 스트림을 기반으로 특정 타이밍 세부 정보 포함)을 실제로 재생하여 응용 프로그램 내부 (실제 조건, 타이밍 관련 버그 등)를 실제로 실행하려는 경우 규모에 따라 클라이언트를 시뮬레이션하는 응용 프로그램 별 테스트 도구 작성을 살펴보십시오.
원시 네트워크 트래픽의 보트로드를 단순히 캡처하여 TCP 또는 IP 기반 프로토콜로 "재생"할 수는 없습니다. TCP 시퀀스 번호는 원래 캡처 된 트래픽과 일치하지 않으며 작동하지 않습니다. 시뮬레이션 된 클라이언트가 캡처 된 발신자의 IP 주소에 응답해야하므로 IP 계층 캡처에 문제가 발생합니다. TCP 시뮬레이터를 작성하고 있기 때문에 계층 7에 더 가까운 트래픽을 캡처하고 세션을 재생하는 데 사용하는 것이 좋습니다. ( tshark
예를 들어 TCP 스트림에서 레이어 7 데이터 및 타이밍을 버스트하고 재생하는 것과 같은 것을 사용하는 것을 상상할 수 있습니다.)
단순히 네트워크 트래픽을 재생하면로드가 시뮬레이션되지만 반드시 결함을 캡처 할 필요는 없습니다. 응용 프로그램이 올바르게 응답 하는 테스트를 로드 테스트하려면 시뮬레이션 된 클라이언트가 테스트 서버로부터 응답을 수신하고 정확성을 분석해야합니다 . 애플리케이션이 동적 응답 데이터를 생성 할 것이므로 시뮬레이션 된 클라이언트가 테스트 서버의 응답을 프로덕션 서버의 로깅 된 응답과 간단히 비교할 수는 없습니다. 여기에서 응용 프로그램 및 해당 출력에 특정한 테스트 장치를 작성하게됩니다.