基準測試
工具:sysbench
安裝:yum -y install sysbench
準備數(shù)據(jù):
sysbench xxx.lua --mysq-host=127.0.0.1 --mysq-port=3306 --mysql-user=root --mysql-password=password --threads=104 --time=120 --report-interval=10 --mysql-db=test_shaolin prepare
啟用104個線程,運行120s,每10秒打印一次統(tǒng)計數(shù)據(jù),數(shù)據(jù)庫的database是test_shaolin,執(zhí)行指定的lua腳本
運行:
就是把prepare換成run
數(shù)據(jù)清理:
就是把prepare換成cleanup
SQL statistics:
? ? queries performed:
? ? ? ? read:? ? ? ? ? ? ? ? ? ? ? ? ? ? 0
? ? ? ? write:? ? ? ? ? ? ? ? ? ? ? ? ? 1759525
? ? ? ? other:? ? ? ? ? ? ? ? ? ? ? ? ? 0
? ? ? ? total:? ? ? ? ? ? ? ? ? ? ? ? ? 1759525
transactions:? ? ? ? ? ? ? ? ? ? ? ? 1759525 (14660.96 per sec.【tps】)
queries:? ? ? ? ? ? ? ? ? ? ? ? ? ? 1759525 (14660.96 per sec.【qps】)
? ? ignored errors:? ? ? ? ? ? ? ? ? ? ? 0? ? ? (0.00 per sec.)
? ? reconnects:? ? ? ? ? ? ? ? ? ? ? ? ? 0? ? ? (0.00 per sec.)
General statistics:
? ? total time:? ? ? ? ? ? ? ? ? ? ? ? ? 120.0129s
? ? total number of events:? ? ? ? ? ? ? 1759525
Latency (ms):
? ? ? ? min:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2.41
? ? ? ? avg:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2.73
? ? ? ? max:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 83.72
? ? ? ? 95th percentile:? ? ? ? ? ? ? ? ? ? ? ? 2.91
? ? ? ? sum:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 4796533.45
Threads fairness:
? ? events (avg/stddev):? ? ? ? ? 43988.1250/1548.42
? ? execution time (avg/stddev):? 119.9133/0.01
jmeter進行真實sql壓測
1.首先添加一個線程組
然后添加一個配置元件-JDBC Connection Configuration

簡單來說:
Variable Name: 變量名稱,需要變量名綁定到池。需要唯一標識。與JDBC取樣器中的相對應,決定JDBC取樣的配置。簡單理解就是在JDBC request的時候確定去哪個綁定的配置。
Max Number of Connection: 數(shù)據(jù)庫最大鏈接數(shù)
PoolTimeout: 數(shù)據(jù)庫鏈接超時,單位ms
Idle Cleanup Interval (ms): 數(shù)據(jù)庫空閑清理的間隔時間,單位ms
Auto Commit:自動提交。有三個選項,true、false、編輯(自己通過jmeter提供的函數(shù)設置)
Transaction Isolation:
事務間隔級別設置,主要有如下幾個選項:(對JMX加解密)
【TRANSACTION_NODE ? 事務節(jié)點 、
TRANSACTION_READ_UNCOMMITTED ?事務未提交讀、
TRANSACTION_READ_COMMITTED ? 事務已提交讀 、
TRANSACTION_SERIALIZABLE ? 事務序列化 、
DEFAULT ?默認、
TRANSACTION_REPEATABLE_READ 事務重復讀、編輯
Keep-Alive: 是否保持連接Max ?Connection age (ms):最大連接時長,超過時長的會被拒絕Validation Query:驗證查詢,檢驗連接是否有效(數(shù)據(jù)庫重啟后之前的連接都失效,需要驗證查詢)。。。。。。
Database URL:如jdbc:mysql://localhost:3306/test ? 表示本地數(shù)據(jù)庫,3306端口,數(shù)據(jù)庫名稱為test
JDBCDriver Class: JDBC的類,如org.gjt.mm.mysql.Driver
2.添加一個JDBC Request取樣器

名字一定要跟配置元件那個名字一樣,這樣才知道是那個連接池