NewSQL資料庫壓力測試工具系列——Sysbench
資料庫是企業應用系統的重要基礎支撐軟體,企業在進行技術選型的時候都是格外慎重的,需要綜合考慮多個方面,此外還需要做多種層次的測試。前面的一系列文章跟大家介紹了分散式NewSQL資料庫領域的兩個典型產品——TiDB和CockroachDB,大家可以通過一些負載測試來考察他們的效能表現。從本文開始,向大家介紹幾個常見的資料庫測試方法,包括:sysbench、TPCC、ycsb和一個模擬銀行轉賬示例測試程式。大家可以根據自己的情況進行選擇。本文先介紹如何使用sysbench對TiDB和CockroachDB進行壓力測試。
1. sysbench簡介
Sysbech是一個流行的開源效能基準測試工具,支援併發多執行緒,支援多種主流資料庫(MySQL、PostgreSQL、Oracle等)。它是很常用的效能測試工具,主要包括以下幾種測試:
- cpu效能
- 磁碟io效能
- 排程程式效能
- 記憶體分配及傳輸速度
- POSIX執行緒效能
- 資料庫效能(比如:OLTP基準測試)
本文只介紹針對資料庫的效能測試,下面將向大家介紹sysbench的安裝部署方法以及針對TiDB和CockroachDB的測試方法示例。本文只是拋磚引玉,對於sysbech的很多詳細介紹還需要大家百度或google以便進一步深入學習(後面的參考給定的連結,大家可以參考)。
2. 安裝
(1) 環境說明
示例假定環境如下:
作業系統:CentOS 7.4
sysbench:1.0.14
TiDB:2.0.x或2.1.x
CockroachDB:2.0.x或2.1.x
說明:需要檢查作業系統是否已經安裝了必要的包:make、 automake、 libtool、 pkgconfig、 libaio-devel
對於mysql,需要安裝mysql-community-devel包;對於postgresql需要安裝postgresql-devel包
(2) 安裝方法
下載sysbench軟體包:
https://github.com/akopytov/sysbench/archive/1.0.14.tar.gz
解壓軟體包:
tar xvfz 1.0.14.tar.gz
然後進入解壓目錄,執行
./autogen.sh
./configure
./configure --with-pgsql
make -j
make install
說明:假設最終解壓後的目錄是/home/bechmark/sysbench-1.0.14。make install之後sysbench的可執行程式被安裝到/usr/local/bin目錄下。
3. 執行測試
(1) prepare(準備測試資料)
--mysql/tidb
sysbench --test=./tests/include/oltp_legacy/oltp.lua --mysql-db=test --mysql-user=root --mysql-host=192.168.13.171 --mysql-port=4000 --oltp-tables-count=3 --oltp-table-size=100000 prepare
--postgresql/cockroachdb
sysbench --test=./tests/include/oltp_legacy/oltp.lua --pgsql-db=tpcc --pgsql-user=root --pgsql-host=192.168.13.171 --pgsql-port=26257 --oltp-tables-count=3 --oltp-table-size=100000 --db-driver=pgsql prepare
(2) run(加壓測試)
--mysql/tidb
sysbench --test=/usr/local/sysbench/tests/include/oltp_legacy/oltp.lua --mysql-db=test --mysql-user=root --mysql-host=192.168.1.161 --mysql-port=4000 --oltp-tables-count=3 --oltp-table-size=100000 --num-threads=10 --max-time=60 --report-interval=10 --oltp-read-only=off run
--postgresql/cockroachdb
sysbench --test=./tests/include/oltp_legacy/oltp.lua --pgsql-db=tpcc --pgsql-user=root --pgsql-host=192.168.13.171 --pgsql-port=26257 --oltp-tables-count=3 --oltp-table-size=100000 --num-threads=10 --max-time=60 --report-interval=10 --oltp-read-only=off run
參考:
https://github.com/akopytov/sysbench
https://www.cnblogs.com/kismetv/archive/2017/09/30/7615738.html
相關文章
- [資料庫]000 - ?Sysbench 資料庫壓力測試工具資料庫
- sysbench 壓力測試
- 資料庫基準測試工具 sysbench資料庫
- nosql redis資料庫壓力測試基準工具redis-benchmarkSQLRedis資料庫
- 通過sysbench工具實現MySQL資料庫的效能測試MySql資料庫
- 關於資料庫壓力測試的故事資料庫
- 資料庫效能測試:sysbench用法詳解資料庫
- 一次資料庫壓力測試的故事資料庫
- mysql之 sysbench0.4.12資料庫效能測試MySql資料庫
- 阿里雲原生資料庫POLARDB壓力測試報告阿里資料庫測試報告
- mysql之 sysbench1.0.3 安裝與系統壓力測試MySql
- MySQL 效能壓測工具-sysbench,從入門到自定義測試項MySql
- apache ab壓力測試工具-批次壓測指令碼Apache指令碼
- 10大主流壓力測試工具
- 軟體壓力測試知識分享,2022好用壓力測試工具有哪些?
- sysbench 多種測試資料庫一起編譯資料庫編譯
- 超實用壓力測試工具-ab工具
- 讓測試事半功倍軟體壓力測試工具分享,壓力測試報告怎麼收費?測試報告
- 使用sysbench壓力測試MySQL(一)(r11筆記第3天)MySql筆記
- sysbench壓測實踐
- Linux下使用壓力測試工具stressLinux
- nodejs版的websocket壓力測試工具NodeJSWeb
- Linux系統壓力測試工具(命令列工具)Linux命令列
- 壓力測試
- 開源的負載測試/壓力測試工具 NBomber負載
- 小景的Dba之路--壓力測試和Oracle資料庫快取Oracle資料庫快取
- 軟體壓力測試流程和測試工具分享,讓你寫壓力測試報告再也不愁測試報告
- 10大主流壓力測試工具推薦
- laravel壓力測試Laravel
- ORACLE壓力測試Oracle
- MACOSXApacheab壓力測試MacApache
- ActiveMQ壓力測試工具(emqtt_benchmark和jmeter)MQQTJMeter
- 壓力測試工具ab - Apache HTTP server benchmarking toolApacheHTTPServer
- 初探oceanbase和newsql資料庫SQL資料庫
- 淺析NewSQL資料庫——TiDBSQL資料庫TiDB
- Sysbench測試神器:一條命令生成百萬級測試資料
- sysbench壓測Oracle 11gOracle
- sysbench壓測Oracle 12COracle