지원되는 버전 :현재 (17)16 / 15 / 14 / 13
개발 버전 :Devel
지원되지 않은 버전 :12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3
이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

F.26.

토토 캔는 간단한 프로그램입니다PostgreSQL. 동일한 시퀀스의 SQL을 실행합니다토토 캔느슨한 시나리오를 테스트합니다select, 업데이트삽입거래 당 명령. 그러나 그것은입니다

토토 캔의 일반적인 출력은 다음과 같습니다.

거래 유형 : TPC-B (정렬)

처음 6 줄은 가장 중요한 것 중 일부를보고합니다.-t모드, 실제 만

F.26.1.

기본 TPC-B- 유사 트랜잭션 테스트는 구체적으로 필요합니다토토 캔-i(초기화) 생성 및

토토 캔 -i [ 기타 옵션 ] dbname

여기서dbname이름입니다-h, -p,-u방법을 지정하는 옵션

주의

토토 캔 -I4를 생성합니다토토 캔_accounts, 토토 캔_BRANCHES, 토토 캔_history토토 캔_tellers, 파괴

기본값에서"스케일 팩터"

행의 표 #

당신은 (그리고 대부분의 목적을 위해) 증가해야합니다-s(스케일 팩터) 옵션. 그만큼-f10487_10540

필요한 설정을 마친 후에는-i, 즉

토토 캔 [ 옵션 ] dbname

거의 모든 경우에-c(클라이언트 수),-t(거래 수),-t(시간 제한) 및-f(사용자 정의 스크립트 파일 지정). 전체 목록은 아래를 참조하십시오.

섹션데이터베이스 중에 사용되는 옵션이 표시됩니다섹션 F.26.3섹션 F.26.4

F.26.2. 토토 캔초기화 옵션

토토 캔

-i

초기화 모드를 호출해야합니다.

-f FillFactor

생성토토 캔_accounts, 토토 캔_tellersand토토 캔_BRANCHES주어진 테이블

-s scale_factor

스케일별로 생성 된 행의 수를 곱하십시오-S 100의지토토 캔_accounts테이블. 기본값입니다

F.26.3. 토토 캔벤치마킹 옵션

토토 캔

-c 클라이언트

시뮬레이션 된 클라이언트 수, 즉 수의 수입니다

-c

각 거래에 대한 새 연결을 설정하고

-d

인쇄 디버깅 출력.

-d varname=value

사용자 정의 스크립트로 사용할 변수 정의 (참조-d옵션은입니다

-f filename

트랜잭션 스크립트 읽기filename. 자세한 내용은 아래를 참조하십시오.-n, -s,-f상호입니다

-j 스레드

내 직원 스레드 수토토 캔. 둘 이상의 스레드를 사용합니다

-l

각 트랜잭션에서 취한 시간을 로그에 쓰기

-m QueryMode

쿼리 제출에 사용할 프로토콜

  • 단순: 간단한 쿼리를 사용하십시오

  • 확장: 사용 확장

  • 준비: 사용 확장

기본값은 간단한 쿼리 프로토콜입니다. (보다46 장자세한 내용은

-n

테스트를 실행하기 전에 진공 청소기를 수행하지 마십시오. 이것필요한당신이 있다면토토 캔_accounts, 토토 캔_BRANCHES, 토토 캔_history토토 캔_tellers.

-n

업데이트하지 않음토토 캔_tellersand토토 캔_BRANCHES. 이것은 피할 것입니다

-r

평균 상태 당 대기 시간을보고하십시오 (실행

-s scale_factor

지정된 스케일 계수를보고토토 캔의 출력. 내장토토 캔_BRANCHES테이블.-f옵션), 스케일 팩터가됩니다

-s

TPC-B와 유사한 대신 선택 전용 트랜잭션을 수행하십시오

-t 거래

각 클라이언트가 실행하는 트랜잭션 수입니다. 기본값입니다

-t

-tand-tare

-v

실행하기 전에 4 개의 표준 테이블을 모두 진공하십시오-nNOR-v, 토토 캔는 진공 청소기토토 캔_tellersand토토 캔_BRANCHES테이블 및토토 캔_history.

F.26.4. 토토 캔공통 옵션

토토 캔

-h hostname

데이터베이스 서버의 호스트 이름

-p 포트

데이터베이스 서버의 포트 번호

-u 로그인

사용 할 사용자 이름

F.26.5."거래"실제로

기본 트랜잭션 스크립트는 7 개의 명령을 발행합니다

  1. 시작;

  2. PGBENCH_ACCOUNTS 업데이트 세트 Abalance

  3. Amalance를 선택하십시오

  4. PGBENCH_TELLERS 업데이트 tbalance

  5. 토토 캔_BRANCHES 업데이트 bbalance

  6. 토토 캔_history에 삽입 (TID,

  7. 끝;

지정하면-n, 4 단계 및 5 단계-s, 만selectIS

F.26.6.

토토 캔지원이 있습니다-f옵션). 이것에서"거래"하나로 계산됩니다-f옵션), in

스크립트 파일의 형식은 한 줄 당 하나의 SQL 명령입니다.--무시됩니다. 스크립트"메타토토 캔자체, 아래 설명대로.

스크립트를위한 간단한 변수-치수 시설이 있습니다-d옵션, 위에서 설명하거나 메타에 의해-d명령 줄 옵션,스케일:variablename.

스크립트 파일 메타 명령은 백 슬래시로 시작합니다 (\). 메타 명령에 대한 인수는 분리됩니다

\ setvarname Operand1 [ 운영자 Operand2 ]

변수 설정varname계산 된 정수 값으로. 각Operand는 정수입니다:variablenamea운영자can be+, -, *또는/.

예 :

\ set ntellers 10 * : scale
\ setrandomvarname 18999_19002 max

변수 설정varname한계 사이의 임의의 정수 값으로18999_19002andmax포함. 각 한계는 될 수 있습니다:variablenamea

예 :

\ Setrandom Aid 1 : naccounts
\ sleep번호[US | MS |

지정된 것에 대한 스크립트 실행이 수면을 유발합니다US),MS) 또는 초s). 장치가 생략되면번호는 정수 일 수 있습니다:variablenamea

예 :

\ sleep 10 ms
\ setshellvarname 명령 [ 인수...]

변수 설정varname쉘 명령의 결과명령. 명령은 반환해야합니다

인수:variablenamea인수콜론으로 시작하여, 당신인수.

예 :

\ setshell variable_to_be_asigned 명령 literal_argument : variable :: literal_starting_with_colon
\ shell명령 [ 인수...]

동일\ setshell그러나

예 :

\ shell Command literal_argument : 변수 :: literal_starting_with_colon

예를 들어 내장의 전체 정의

\ set nbranches : 스케일

이 스크립트는 트랜잭션의 각 반복을 허용합니다

F.26.7.

with-l옵션,토토 캔각각이 취한 시간을 씁니다토토 캔_log.NNN, 여기서NNN토토 캔 프로세스의 PID입니다. 만약에-j옵션은 2 이상입니다토토 캔_log.NNN.mmm, 여기서mmm는 각각의 순차적 숫자입니다

로그의 형식은 다음과 같습니다.

client_id Transaction_No Time file_no time_epoch time_us

여기서Time총계입니다file_no스크립트 파일을 식별합니다-f) 및time_epoch/time_us는 Unix Epoch 형식 Timestamp입니다

여기 예제 출력이 있습니다 :

 0 199 2241 0 1175850568 995598
 0 200 2465 0 1175850568 998079
 0 201 2513 0 1175850569 608
 0 202 2038 0 1175850569 2663

F.26.8.

with-r옵션,토토 캔경과 트랜잭션을 수집합니다

기본 스크립트의 경우 출력이

진공 시작 ... 끝.

여러 스크립트 파일이 지정되면 평균이 있습니다

추가 타이밍 정보 수집에 유의하십시오

F.26.9.

사용하기가 매우 쉽습니다토토 캔완전히 의미가없는 생산

처음에는절대실행되는 테스트를 믿습니다-t또는-t옵션을 마지막으로 실행하는 옵션

기본 TPC-B와 유사한 테스트 시나리오의 경우 초기화-s)는 적어도 있어야합니다-c); 그렇지 않으면 당신은 대부분 측정 할 것입니다-s토토 캔_BRANCHES테이블,-c초과 값-s의심 할 여지없이 많은 결과를 초래할 것입니다

기본 테스트 시나리오는 또한 방법에 매우 민감합니다.

제한토토 캔is토토 캔다른토토 캔인스턴스