ps: 先在mysql中建立 root 使用者,或自定義其他使用者,配到props.mysql配置檔案中。
登入mysql ,建立tpcc資料庫用於測試
mysql -uroot -p
create databases tpcc;
show databases;
use tpcc;
show tables;
1. 修改配置檔案: props.mysql
db=mysql
driver=com.mysql.cj.jdbc.driver
conn=jdbc:mysql://localhost:3306/tpcc
user=tpcc
password=******
warehouses=1
loadworkers=4
terminals=1
//to run specified transactions per terminal- runmins must equal zero
runtxnsperterminal=10
//to run for specified minutes- runtxnsperterminal must equal zero
runmins=0
//number of total transactions per minute
limittxnspermin=300
//set to true to run in 4.x compatible mode. set to false to use the
//entire configured database evenly.
terminalwarehousefixed=true
//the following five values must add up to 100
neworderweight=45
paymentweight=43
orderstatusweight=4
deliveryweight=4
stocklevelweight=4
// directory name to create for collecting detailed result data.
// comment this out to suppress.
resultdirectory=my_result_%ty-%tm-%td_%th%tm%ts
oscollectorscript=./misc/os_collector_linux.py
oscollectorinterval=1
//oscollectorsshaddr=user@dbhost
oscollectordevices=net_eth0 blk_sda
引數說明如下:
表1資料庫資訊部分 引數
說明conn
192.168.222.120
資料庫伺服器位址,以實際情況為準。
3306
mysql資料庫埠,以實際情況為準。
tpcc
資料庫名稱,以實際情況為準,本例中為tpcc。
user和password
root和123456
修改為建立資料庫tpcc的賬號和密碼。
warehouses
1000
初始化載入資料時,需要建立多少倉庫的資料。例如200,標識建立200個倉庫資料,每乙個資料倉儲的資料量大概是76823.04kb,可有少量的上下浮動,因為測試過程中將會插入或刪除現有記錄。
資料量:每個倉庫裡有9張表,bmsql_order_line表資料量最大30w/1warehouses,60w/2warehouses....
loadworker
100載入資料時,每次提交程序數。
表2程式執行的場景引數 引數
說明terminals
終端數量,指同時有多少終端併發執行,表示併發程度。遍歷值140,170,200。
runtxnsperterminal
每分鐘每個終端執行的事務數。
runmins
執行多少分鐘,例如15分鐘。與terminals配合使用。與終端數量,每個終端每分鐘執行事務數配合使用
limittnxspermin
每分鐘執行的事務總數。(資料庫伺服器,測試吞吐量時,需要將此值設定極大(無限大),這樣就能夠保證不會出現某個終端sleep現象。)
terminalwarehousefixed
用於指定終端和倉庫的繫結模式,設定為true時可以執行4.x相容模式,意思為每個終端都有乙個固定的倉庫。設定為false時可以均勻的使用資料庫整體配置。
2.建立資料,一步完成 建立表、生成測試資料、匯入資料,及建立索引,外來鍵等。
ps: 需要指定資料庫型別對應的配置檔案 ,如 mysql 資料庫,對應的配置檔案為props.mysql
./rundatabasebuild.sh props.mysql
ps: 如果沒有授權先授權 ,命令: chmod 777 *.sh
3. 測試資料
./runbenchmark.sh props.mysql
結果:17:05:30,476 [thread-1] info jtpcc : term-00, nt tpmtotal: 84 memory usage: 19mb / 37mb
17:05:30,477 [thread-1] info jtpcc : term-00,
17:05:30,477 [thread-1] info jtpcc : term-00, measured tpmc (neworders) = 147.63
17:05:30,477 [thread-1] info jtpcc : term-00, measured tpmtotal = 324.8
17:05:30,478 [thread-1] info jtpcc : term-00, session start = 2021-01-11 17:05:28
17:05:30,478 [thread-1] info jtpcc : term-00, session end = 2021-01-11 17:05:30
17:05:30,478 [thread-1] info jtpcc : term-00, transaction count = 10
執行結束後,關注tpmtotal值。
說明:tpm(transactions per minute)每分鐘事物處理個數。
並會在 run/ 目錄下生成result 目錄,檢視結果報告
my_result_2021-01-11_170527
4. 結果繪圖,生成報告(ps:需要r語言環境)
./generategraphs.sh my_result_2021-01-11_170527/
5. 清空資料
./rundatabasedestroy.sh props.mysql
參考:
參考:
My程式設計修煉之道
最近想法有點多,已經大三末期的我思緒萬千,對於現在所在的路以及將來要走的路充滿著困惑於不解,但是有一點我是可以確定的,畢業之後我將要從事的行業必然是計算機行業。對於乙個沒有關係,沒有背景我來說,畢業的第一選擇必然是大學所學的專業了。大學裡辛辛苦苦學了四年的專業不能說丟就丟吧,畢竟人的一生能有幾個四年...
Mysql Workbench建模匯入MySQL中
我不知道其他人怎麼做。這個只是我自己摸索的做法。1.workbench中匯出sql檔案。file,export。一直下一步 當然也可以選一些東西 2.處理workbench出來的sql檔案。例如開頭一些set,結尾一些set貌似沒用。刪了。然後字元編碼也要處理一下,預設好像是latin1。這裡最好複...
MySQL WorkBench管理操作MySQL
一 mysql workbench mysql workbench提供dbas和developers乙個整合工具環境 1 資料庫設計和建模 2 sql開發 取代原來的mysql query browser 3 資料庫管理 取代原來的mysql administrator 2 安裝 3 入門資料庫例項...