Jmeter 테스트에서 상당한 성능 향상을 이해하려고합니다.JMeter : 더 많은 HTTP 요청으로 인해 성능이 향상됩니까?
멀티 테넌시 데이터베이스 환경에서 XML 페이로드를 게시하는 단일 HTTP 요청 샘플러가있는 스레드 그룹을 포함하는 단일 RESTful 서비스 테스트가 있습니다. 그런 다음 저장 프로 시저를 통해 XML 페이로드를 평가하고 자격이 자격이 있는지 여부를 나타내는 응답이 수신됩니다. 단일 JVM이 실행중인 Apache 7 환경에서 .bat 파일 (비 GUI 모드)에서이 테스트를 실행합니다.
테스트 스레드 그룹 속성
# of Threads: ${__P(test.threads,200)}
Ramp-Up Period: ${__P(test.rampup,1)}
Loop Count: Forever
Delay Thread: Enabled
Scheduler: Enabled
Duration: ${__P(test.duration,1800)}
HTTP 요청
Method: POST
https://serverName:port/database/.../${__P(tenant,1111)}/Claim/${__property(contractId)}
나는 TG 내에서 HTTP 요청 샘플러를 복제 어떤 이유로 URL 내에서 세입자 ID를 변경 성능이 55 % 이상 증가하는 것으로 보입니다. (즉, 클레임 수/초가 55 % 증가했습니다.) 테스트가 실패하지 않은 것 같아서 성능 증가가 오류 비율 증가로 귀착 될 수 없습니다.
로드 밸런서가 최적화를 수행하도록 다른 JVM을 활성화 한 경우 증가가 예상되지만, 그렇지는 않습니다.
HTTP 요청 (는 여전히 1 JVM 사용) 1
https://serverName:port/database/.../${__P(tenant,1111)}/Claim/${__property(contractId)}
HTTP 요청이
https://serverName:port/database/.../${__P(tenant,2222)}/Claim/${__property(contractId)}
근처에가는 이론은 JMeter가가에서 워크로드를 생성하는 것입니다 단일 요청보다 여러 요청의 비율이 높습니다. 나는 회의적이지만 회의론을지지하는 데 "단단한"것을 발견하지 못했습니다.
이 이론이 사실입니까? 그렇다면 왜 두 개의 HTTP 요청이 성능을 향상시킬 수 있습니까?
그리고 당신은 당신의 성능을 messure 어떻게? 당신의 "이론"에 따르면 당신의 messurements는 jmeter 오버 헤드를 포함하고 이것은 틀릴 것입니다. – Antoniossss