학습 노트: MySQL 기준 테스트 tpcc - mysql
github 에 tpcc - mysql 설치 하기 (https://github.com/Percona-Lab/tpcc-mysql) 클 라 이언 트 의 원본 코드 를 컴 파일 하면 됩 니 다.
root@ubuntu:~# git clone https://github.com/Percona-Lab/tpcc-mysql.git
root@ubuntu:~# cd tpcc-mysql/ ; ls
root@ubuntu:~/tpcc-mysql# cd src ; make
cc -w -O3 -g -I. `mysql_config --include` -c load.c
/bin/sh: 1: mysql_config: not found
load.c:19:19: fatal error: mysql.h:
compilation terminated.
Makefile:22: recipe for target 'load.o' failed
make: *** [load.o] Error 1
root@ubuntu:~/tpcc-mysql/src# make clean
rm -f *.o
아아, 오류 가 발생 했 습 니 다. 제 로 컬 Ubuntu Linux 에는 "mysql config" 가 부족 합 니 다.
root@ubuntu:~/tpcc-mysql/src# mysql_config
“mysql_config” 。 :
apt install libmysqlclient-dev
root@ubuntu:~/tpcc-mysql/src# apt install libmysqlclient-dev
root@ubuntu:~/tpcc-mysql/src# make
root@ubuntu:~/tpcc-mysql/src# cd .. ; ls | grep ^tpcc
tpcc_load
tpcc_start
mysql_config 포함 " libmy sqlclient - dev 에 apt 설치 (yum 시스템 은 " mysql - devel), 그리고 컴 파일 에 성 공 했 습 니 다.tpcc - mysql 메 인 프로그램 디 렉 터 리 아래 에 tpcc 로 시작 하 는 핵심 파일 이 두 개 더 있 는 것 을 볼 수 있 습 니 다.
tpcc - mysql 기준 테스트 는 세 단계 로 나 뉘 어 라 이브 러 리 표를 만 들 고 데 이 터 를 불 러 오고 테스트 를 수행 합 니 다.
① 라 이브 러 리 시트 만 들 기.
이 단 계 는 테스트 작업 의 준비 단계 다.기본 테스트 용 schema (건 너 뛰 기 만 들 었 다 면) 를 만 들 고 창고 회사 데이터 모델 시트 구조 (필수) 를 가 져 오고 데이터 모델 색인 제약 을 가 져 오 는 것 을 포함 합 니 다 (② 단계 로 데 이 터 를 불 러 온 후에 이 단 계 를 실행 할 수 있 습 니 다).
root@ubuntu:~/tpcc-mysql# mysqladmin -uroot -p520 create benchmarker
root@ubuntu:~/tpcc-mysql# mysql -uroot -p520 benchmarker < create_table.sql
root@ubuntu:~/tpcc-mysql# mysql -uroot -p520 benchmarker < add_fkey_idx.sql
② 데 이 터 를 불 러 옵 니 다.
tpcc 실행load, 테스트 데 이 터 를 불 러 옵 니 다.실행 " ./tpcc load -- help "는 사용법 을 볼 수 있 습 니 다: | hostname | | port | | dbname | | | user | | password | WAREHOUSES |.이번 테스트 인 스 턴 스 는 11 개의 창 고 를 만 듭 니 다 (- w).
root@ubuntu:~/tpcc-mysql# ./tpcc_load -h127.0.0.1 -P3306 -dbenchmarker -uroot -p520 -w11
*************************************
*** TPCC-mysql Data Loader ***
*************************************
option h with value '127.0.0.1'
option p with value '3306'
option d with value 'benchmarker'
option u with value 'root'
option p with value '520'
option w with value '11'
[server]: 127.0.0.1
[port]: 3306
[DBname]: benchmarker
[user]: root
[pass]: 520
[warehouse]: 11
TPCC Data Load Started...
***** *****
...DATA LOADING COMPLETED SUCCESSFULLY.
이 과정 은 기계 의 성능 과 창 고 량 을 보고 테스트 라 이브 러 리 에 데 이 터 를 쓰 는 데 시간 이 좀 걸 릴 수 있 으 며 실행 과정 은 인쇄 될 것 입 니 다.
③ 테스트 를 실시한다.
tpcc 실행start, 창고 저장 회사 업무 장면 테스트 진행.실행 " ./tpcc start -- help "는 사용법 을 볼 수 있 습 니 다. | hostname | | port | | dbname | | | user | WAREHOUSES | | CONNECTIONS | | WARMUP TIME | | BENCHMARK TIME |.
root@ubuntu:~/tpcc-mysql# ./tpcc_start -h127.0.0.1 -P3306 -dbenchmarker -uroot -p520 -w11 -c2 -r22 -l180
***************************************
*** ###easy### TPC-C Load Generator ***
***************************************
option h with value '127.0.0.1'
option p with value '3306'
option d with value 'benchmarker'
option u with value 'root'
option p with value '520'
option w with value '11'
option c with value '2'
option r with value '22'
option l with value '180'
[server]: 127.0.0.1
[port]: 3306
[DBname]: benchmarker
[user]: root
[pass]: 520
[warehouse]: 11
[connection]: 2
[rampup]: 22 (sec.)
[measure]: 180 (sec.)
RAMP-UP TIME.(22 sec.)
MEASURING START.
10, trx: 6, 95%: 2665.596, 99%: 3636.936, max_rt: 3636.496, 5|789.268, 0|140.956, 1|1560.098, 1|10399.828
20, trx: 9, 95%: 3520.185, 99%: 3520.185, max_rt: 3520.139, 9|689.531, 1|156.137, 1|965.955, 1|10290.280
30, trx: 9, 95%: 1919.477, 99%: 1919.477, max_rt: 1919.449, 10|633.419, 1|868.591, 1|2240.299, 0|0.000
***** *****
STOPPING THREADS..
[0] sc:0 lt:173 rt:0 fl:0 avg_rt: 968.7 (5)
[1] sc:1 lt:172 rt:0 fl:0 avg_rt: 268.5 (5)
[2] sc:0 lt:17 rt:0 fl:0 avg_rt: 183.5 (5)
[3] sc:0 lt:18 rt:0 fl:0 avg_rt: 1739.0 (80)
[4] sc:0 lt:17 rt:0 fl:0 avg_rt: 9209.2 (20)
in 180 sec.
[0] sc:0 lt:173 rt:0 fl:0
[1] sc:1 lt:172 rt:0 fl:0
[2] sc:0 lt:17 rt:0 fl:0
[3] sc:0 lt:18 rt:0 fl:0
[4] sc:0 lt:17 rt:0 fl:0
(all must be [OK])
[transaction percentage]
Payment: 43.47% (>=43.0%) [OK]
Order-Status: 4.27% (>= 4.0%) [OK]
Delivery: 4.52% (>= 4.0%) [OK]
Stock-Level: 4.27% (>= 4.0%) [OK]
[response time (at least 90% passed)]
New-Order: 0.00% [NG] *
Payment: 0.58% [NG] *
Order-Status: 0.00% [NG] *
Delivery: 0.00% [NG] *
Stock-Level: 0.00% [NG] *
57.667 TpmC
테스트 의 중요 한 정 보 는 포맷 을 통 해 인쇄 되 었 습 니 다. " report interval '(- i) 옵션 설정 은 기본 10s 로 이 시간 동안 창고 회사 의 주문 처 리 를 설명 합 니 다.이번 테스트 전 10s 출력 과 같이
10, trx: 6, 95%: 2665.596, 99%: 3636.936, max_rt: 3636.496, 5|789.268, 0|140.956, 1|1560.098, 1|10399.828
테스트 의 마지막 줄 은 TpmC 값 을 줍 니 다.Tpm 는 transaction per minute 의 줄 임 말로 C 대표 TPC (Transaction Processing Performance Council, 사무 처리 성능 협회) 의 C 기준 테스트 입 니 다.이 값 의 계산 은 위의 것 에서 나온다. trx '결과, 기본 적 인 상황 에서 먼저 New Order per 10 Second 의 평균 값 을 구하 고 6 을 곱 한 다음 에 TpmC 값 을 얻 습 니 다.이 값 은 클 수록 좋 으 며, 더욱 우수한 사무 처리 능력 을 나타 낸다.이번 테스트 의 TpmC 값 은 57.667 로 내 노트북 의 작은 가상 컴퓨터 에서 나 왔 다.
요 며칠 동안 MySQL 기준 테스트 의 지식 과 도 구 를 중점적으로 배 웠 는데, 이러한 내용 은 잠시 tpcc - mysql 도구 에 대한 학습 으로 끝났다.마지막 으로 소박 하 게 돌아 가 성능 테스트 에서 자주 사용 하 는 지 표를 정리 해 보 자.이 지표 들 의 함 의 를 이해 하 는 것 이 기준 테스트 를 실시 하 는 것 보다 더 중요 할 지도 모른다.MySQL 데이터 베 이 스 는 주로 스루풋 과 디스크 I / O 두 가지 병목 을 포함한다.스루풋 은 주로 QPS, TPS, Request 및 Request Time 에 나타난다.디스크 I / O 는 주로 IOPS 에 나타난다.
참고:
(MySQL 기술 내막 InnoDB 메모리 엔진)https://book.douban.com/subject/24708143/) < 고성능 MySQL > (https://book.douban.com/subject/23008813/)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Rails Turbolinks를 페이지 단위로 비활성화하는 방법원래 Turobolinks란? Turbolinks는 링크를 생성하는 요소인 a 요소의 클릭을 후크로 하고, 이동한 페이지를 Ajax에서 가져옵니다. 그 후, 취득 페이지의 데이터가 천이 전의 페이지와 동일한 것이 있...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.