benchmarksql 설치 및 배포

MySQL 용 benchmarksql 버전 5.0 제거합니다 TPC-C 테스트 지원, 소스 코드의 일부를 수정하여이 문서 때문에 benchmarksql 5.0 지원 MySQL을.
1. 환경 :

    CentOS는 7.2
    5.0 benchmarksql
    Percona MySQL 서버 5.7.19

2. 다운로드 소스 코드 benchmarksql 컴파일

작업은 여기에 자바 1.8.0 테스트 환경 관련 설명, 자바 개발 환경을 설치 2.1 특정 단계를 건너 뜁니다.

2.2 설치 개미 도구입니다.
냠 설치 개미

2.3 5.0 benchmarksql 다운로드 소스, 추출물.
https://sourceforge.net/projects/benchmarksql/
benchmarksql 5.0 CD

2.4 컴파일러
개미

버전 benchmarksql-5.0 / DIST / BenchmarkSQL- 컴파일이 시간 5.0.jar을, 하지만 MySQL은 TPC-C 테스트 버전을 지원하지 않습니다 필요성은 다음과 같이 변경합니다.
(3) 수정 된 소스 benchmarksql

3.1 수정 benchmarksql 5.0 / SRC / 클라이언트 / jTPCC.java는 MySQL의 관련 부분이 증가로서 다음과 같다 :
IF (iDB.equals ( "파이어"))
        DBTYPE = DB_FIREBIRD;
    다른 경우 (iDB.equals ( "신탁"))
        DBTYPE = DB_ORACLE;
    다른 경우 (iDB.equals ( "포스트 그레스"))
        DBTYPE = DB_POSTGRES;
    다른 경우 (iDB.equals ( "MySQL은"))
        DBTYPE = DB_UNKNOWN;
    다른
    {
        log.error ( "알 수없는 데이터베이스 유형 '"+ IDB + "'");
        반환;
    }

3.2修改benchmarksql 5.0 / SRC / 클라이언트 / jTPCCConnection.java, SQL子查询增加"AS L"别名,如下所示:
기본 :
        stmtStockLevelSelectLow = dbConn.prepareStatement (
            + "(FROM low_stock AS SELECT COUNT (*)"
            " SELECT s_w_id, s_i_id, s_quantity "+
            bmsql_stock FROM" "+
            "? s_w_id = AND s_quantity WHERE <? AND IN을 s_i_id는 ("+
            "SELECT는 ol_i_id"+
            "bmsql_district FROM"+
            "가입 bmsql_order_line ON ol_w_id = d_w_id"+
            "AND ol_d_id = D_ID"+
            "AND ol_o_id> = d_next_o_id - 20" +
            "AND ol_o_id <d_next_o_id"+
            "= AND WHERE d_w_id D_ID =?"+
            ")"+
            ") L AS ");
        단절;

3.3编译修改后的源码,此时得到的benchmarksql版本benchmarksql-5. 0 / DIST / BenchmarkSQL-5.0.jar 이미 MySQL을의 TPC-C 테스트를 지원합니다.

CD를 benchmarksql - 5.0
개미

4修改相关脚本,支持MySQL은

4.1. 在benchmarksql-5.0 / 실행目录下,创建文件props.mysql,内容如下:
dB = mysql을
드라이버 = com.mysql.jdbc.Driver
CONN = JDBC : mysql을 : //127.0.0.1 : 3306 / db_admin의
사용자 = 루트
암호 = 123456 개
창고 = 1
loadWorkers = 4 개
단자 = 1
// 터미널 - runMins 당 지정된 트랜잭션이 실행 같아야 제로
runTxnsPerTerminal = 10
// 영 같아야 지정된 분 정도면 runTxnsPerTerminal 동안 작동
runMins를 = 0
분 당 총 거래 번호 //
limitTxnsPerMin을 = 300
true로 // 설정은 4.x의 호환 모드로 실행합니다. 용도에 false로 설정
균등 // 전체 구성된 데이터베이스를.
terminalWarehouseFixed = TRUE
// 다음과 같은 다섯 개 가지 값은 100까지 추가해야합니다
(45)의 // 기본 비율, 43, 4, 4, 4 일치시킵니다 TPC-C 규격
newOrderWeight = 45
paymentWeight = 43
orderStatusWeight = 4
deliveryWeight = 4
stockLevelWeight = 4
// 디렉토리 자세한 결과 데이터를 수집하기 위해 작성하는 이름을 지정합니다.
// 억제이 밖으로 코멘트.
resultDirectory = my_result_ % TY- % TM- td_ 표시 % % % % tM으로 TS
osCollectorScript =. / 기타 / os_collector_linux.py
osCollectorInterval = 1
// osCollectorSSHAddr = 사용자 @ dbhost
osCollectorDevices net_eth0 blk_sda =

4.2. 修改文件:. benchmarksql-5.0 / 실행 / funcs.sh,添加MySQL의数据库类型
기능 setCP ()
{
    경우 "$ (getProp의 데시벨)"에서
    파이어 버드)
        CP = "../ lib 디렉토리 / 파이어 버드 /*:../ lib 디렉토리 / *"
        ;
    오라클)
        CP = "../ lib 디렉토리 / 오라클 / *"
        만약 [! -z "$ {ORACLE_HOME}"-a -d $ {ORACLE_HOME} / lib에] 다음
        CP = "$ {CP} : $ {ORACLE_HOME} / lib 디렉토리 / *"
        과학
        CP = "$ {CP} : ../ lib 디렉토리 / *"
        ;
    포스트 그레스)
        CP = "../ lib 디렉토리 / 포스트 그레스 /*:../ lib 디렉토리 / *"
        ;
    MySQL의)
        CP = "../ lib 디렉토리 / mysql을 /*:../ lib 디렉토리 / *"
        ;
    ESAC
    myCP = "$ {CP}. ../ DIST / *"
    수출 myCP
}

...省略

의 경우 "$ (getProp의 데시벨)"
    파이어 | 오라클 | 포스트 그레스 | MySQL의 )
    ;
    "") 에코 "오류 : $ {소품}에 DB = 설정 옵션을 누락"> & 2
    . 1 번 출구은
    ;;
    *) 에코 "오류 : 지원되지 않는 데이터베이스 유형 'DB = $ (DB를 getprop)'$ {소품}에서"> & 2
    . 1 번 출구
    ;
ESAC

4.3 추가 MySQL의 자바 커넥터 드라이브, 다운로드 MySQL의 커넥터 - 자바-5.1.45.jar 필요.

-p-5.0 benchmarksql에서 mkdir / lib 디렉토리 / MySQL을
CP-커넥터 - MySQL의 자바 5.0-5.1.45.jar benchmarksql / lib 디렉토리 / MySQL을 /

4.4 수정 benchmarksql-5.0 / 실행 / runDatabaseBuild.sh 제거 extraHistID
AFTER_LOAD = "indexCreates ForeignKeys를 extraHistID "buildFinish
:로 수정
indexCreates ForeignKeys를 buildFinish"AFTER_LOAD = "
TPC-C는 MySQL 테스트 (5).

5.0 / RUN benchmarksql CD를-
./runDatabaseBuild.sh 소품.


: Benchmarksql은 다음이다 MySQL의 TPC-C 테스트 결과를 수정할 수
02 : 58 : 47,071 jTPCC 정보] [스레드 - 1이다.] 용어-00,
02 : 58 :. 스레드 - 1] 47,071 jTPCC 정보] : 00 - 용어 측정 된 tpmC로 (NewOrders)는 136.71 =
58 : 47071 [스레드 - 1. 상기 INFO jTPCC : 02 기간-00, 측정 tpmTOTAL = 298.81
02 : 58 :. 스레드 - 1] 47,071하여 정보 jTPCC : 용어-00, 세션 시작 = 2018 2시 53분 46초 -12-27
02 : 58 : 47071 [스레드 1] INFO jTPCC : 용어-00, 세션 종료 2018년 12월 27일 2시 58분 47초 =
02 : 58 : 47071 [스레드 1] INFO jTPCC : 기간-00, 트랜잭션 수 = 1494

추천

출처www.cnblogs.com/hxlasky/p/12094760.html