source

JMeter JDBC 수동 커밋

factcode 2022. 10. 3. 17:20
반응형

JMeter JDBC 수동 커밋

부하 테스트를 위해 JMeter를 사용하고 있는데 수천 개의 레코드를 삽입하는 테스트를 수행해야 합니다.요구 사항의 일부는 개별 업데이트를 커밋하지 않고 1000개 레코드마다 커밋해야 한다는 것입니다.매우 간단한 것처럼 보이지만 JMeter에서 수동 커밋을 수행하는 방법을 설명하는 예나 문서를 찾을 수 없습니다.또한 제대로 작동하지 않습니다.

csv 파일에서 몇 개의 엔트리를 읽어들이고 ID 필드의 카운터 변수를 증가시키도록 설정되어 있습니다.자동 커밋이 유효하게 되어 있는 경우는, 정상적으로 동작합니다.
자동 커밋을 무효로 하면, 커밋 되는 것은 아무것도 없습니다(예상대로).하지만 어떻게 해야 할까요?지정된 레이트는 말할 것도 없고 자동 커밋 없이 모든 업데이트를 커밋할 수도 없습니다.

  • 동일한 DB 연결 풀과 테스트에서 하나의 스레드만 사용하여 commit 스테이트먼트 및/또는 commit 쿼리 유형을 사용하여 JDBC 포스트 프로세서를 추가하려고 했지만 작동하지 않습니다.
  • 별도의 JDBC 요청과 동일한 작업을 수행하려고 했지만 역시 작동하지 않았습니다.
  • 업데이트 스테이트먼트 자체에 커밋을 추가하려고 했지만, 잘 되지 않았습니다.
  • 트랜잭션 분리를 변경하려고 했지만, 이러한 값에는 차이가 없는 것 같습니다.
  • 프리프로세서 또는 요청 또는 기존 요청 내에서 트랜잭션을 열려고 했지만 이 또한 도움이 되지 않았습니다.

문제는 커밋이 실제 업데이트 스테이트먼트와 다른 트랜잭션으로 진행된다는 것입니다.하지만 난 그걸 바꿀 방법을 찾을 수 없어...

다음을 시도해 보십시오.

  • 쿼리 유형이 AutoCommit(false)로 설정된 JDBC 요청 추가
  • 필요에 따라 JDBC 요청 저장
  • 쿼리 유형이 커밋으로 설정된 JDBC 요청 추가

계획은 다음과 같습니다.

개요 및 구성

자동 커밋을 false로 설정합니다.

자동 커밋을 false로 설정하다

그런 다음 업데이트 쿼리를 호출합니다.

SQL 쿼리

마지막으로 커밋:

저지르다

자동 커밋을 true로 재설정:

리셋 자동 커밋

이 방법으로 문제가 해결되지 않으면 JMeter에 보고할 것을 권장합니다.

언급URL : https://stackoverflow.com/questions/63713516/jmeter-jdbc-manual-commit

반응형