【工具】sysbench 0.5 簡介
一 前言
因為在準備做壓力測試方面的工作,看到sysbench 目前最新的版本是0.5 ,相比之前的0.4的版本,最大的變化是 test 引數的改變,在壓測MySQL時,新版本中test將取值為 lua指令碼,該種方式給壓測工作帶來很大的靈活性。
二 安裝
因為之前的博文中講述過如何安裝sysbench 故本文不做過多講解,不過需要提示請確保當前系統中是否安裝m4 autoconf automake libtool 這幾個包,
如果沒有則透過 yum install -y m4 autoconf automake libtool安裝
獲取sysbench然後安裝
安裝完成之後 執行sysbench --help 檢視完整的幫助。
三使用
之前0.5 版本test值是lua指令碼,檢查一下db壓測可以使用那些指令碼
看看大家壓測的時候用到的最典型的指令碼
如果大家會lua指令碼,則可以根據自己的業務場景,簡單的定製化壓測指令碼。
四 遇到的問題
# ./autogen.sh
libtoolize 1.4+ wasn't found, exiting
# ./autogen.sh
automake 1.10.x (aclocal) wasn't found, exiting
說明需要安裝 libtool ,automake 的安裝包
安裝完上述幾個包之後,我還遇到了如下錯誤:
libtool: link: gcc -W -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Winline -funroll-loops -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -pthread -O2 -ggdb3 -o sysbench sysbench.o sb_timer.o sb_options.o sb_logger.o db_driver.o tests/fileio/libsbfileio.a tests/threads/libsbthreads.a tests/memory/libsbmemory.a tests/cpu/libsbcpu.a tests/mutex/libsbmutex.a scripting/libsbscript.a drivers/mysql/libsbmysql.a -L/opt/mysql/lib -lmysqlclient_r scripting/lua/src/liblua.a -ldl -lrt -lm -pthread
/usr/bin/ld: cannot find -lmysqlclient_r
collect2: ld returned 1 exit status
原因是因為自己當前環境中沒有安裝 mysql-devel 導致沒有 libmysqlclient_r.so.16 。解決方法
yum install -y mysql-devel
因為在準備做壓力測試方面的工作,看到sysbench 目前最新的版本是0.5 ,相比之前的0.4的版本,最大的變化是 test 引數的改變,在壓測MySQL時,新版本中test將取值為 lua指令碼,該種方式給壓測工作帶來很大的靈活性。
二 安裝
因為之前的博文中講述過如何安裝sysbench 故本文不做過多講解,不過需要提示請確保當前系統中是否安裝m4 autoconf automake libtool 這幾個包,
如果沒有則透過 yum install -y m4 autoconf automake libtool安裝
獲取sysbench然後安裝
-
./autogen.sh
-
./configure --prefix=/opt/sysbench --with-mysql --with-mysql-includes=/opt/mysql/include --with-mysql-libs=/usr/lib64/mysql
- make and make install安裝完成之後 執行sysbench --help 檢視完整的幫助。
三使用
之前0.5 版本test值是lua指令碼,檢查一下db壓測可以使用那些指令碼
-
[root@rac4 11:32:45 ~/sysbench/sysbench/tests/db]
-
# ls *.lua
-
common.lua insert.lua oltp_simple.lua select.lua select_random_ranges.lua update_non_index.lua
- delete.lua oltp.lua parallel_prepare.lua select_random_points.lua update_index.lua
-
[root@rac4 11:36:32 ~/sysbench/sysbench/tests/db]
-
# more update_non_index.lua
-
pathtest = string.match(test, "(.*/)") or ""
-
dofile(pathtest .. "common.lua")
-
function thread_init(thread_id)
-
set_vars()
-
end
-
function event(thread_id)
-
local table_name
-
local c_val
-
local query
-
table_name = "sbtest".. sb_rand_uniform(1, oltp_tables_count)
-
c_val = sb_rand_str("###########-###########-###########-###########-###########-###########-###########-###########-###########-###########")
-
query = "UPDATE " .. table_name .. " SET c='" .. c_val .. "' WHERE id=" .. sb_rand(1, oltp_table_size)
-
rs = db_query(query)
- end
-
cd /root/sysbench/
-
/opt/sysbecn/bin/sysbench --test=./sysbench/tests/db/update_non_index.lua --mysql-table-engine=innodb --mysql-db=test --oltp-table-size=5000000 --mysql-user=root --mysql-socket=/srv/my3308/run/mysql.sock --oltp-tables-count=16 prepare
-
/opt/sysbecn/bin/sysbench --test=./sysbench/tests/db/update_non_index.lua --mysql-table-engine=innodb --mysql-db=test --oltp-table-size=5000000 --mysql-user=root --mysql-socket=/srv/my3308/run/mysql.sock --oltp-tables-count=16 run
- /opt/sysbecn/bin/sysbench --test=./sysbench/tests/db/update_non_index.lua --mysql-table-engine=innodb --mysql-db=test --oltp-table-size=5000000 --mysql-user=root --mysql-socket=/srv/my3308/run/mysql.sock --oltp-tables-count=16 cleanup
# ./autogen.sh
libtoolize 1.4+ wasn't found, exiting
# ./autogen.sh
automake 1.10.x (aclocal) wasn't found, exiting
說明需要安裝 libtool ,automake 的安裝包
安裝完上述幾個包之後,我還遇到了如下錯誤:
libtool: link: gcc -W -Wall -Wextra -Wpointer-arith -Wbad-function-cast -Wstrict-prototypes -Wnested-externs -Winline -funroll-loops -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wcast-align -pthread -O2 -ggdb3 -o sysbench sysbench.o sb_timer.o sb_options.o sb_logger.o db_driver.o tests/fileio/libsbfileio.a tests/threads/libsbthreads.a tests/memory/libsbmemory.a tests/cpu/libsbcpu.a tests/mutex/libsbmutex.a scripting/libsbscript.a drivers/mysql/libsbmysql.a -L/opt/mysql/lib -lmysqlclient_r scripting/lua/src/liblua.a -ldl -lrt -lm -pthread
/usr/bin/ld: cannot find -lmysqlclient_r
collect2: ld returned 1 exit status
原因是因為自己當前環境中沒有安裝 mysql-devel 導致沒有 libmysqlclient_r.so.16 。解決方法
yum install -y mysql-devel
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-2132073/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Sysbench-0.5改成只有DML操作
- PostgreSQL DBA(8) - sysbench簡介SQL
- CRM工具簡介
- 效能分析工具簡介
- 資料庫基準測試工具 sysbench資料庫
- Go語言工具簡介 - HoneybadgerGo
- sysbench
- NewSQL資料庫壓力測試工具系列——SysbenchSQL資料庫
- 開源多執行緒效能測試工具-sysbench執行緒
- sysbench for dm
- PostgreSQL DBA(18) - pg_waldump工具簡介SQL
- Flutter效能監控工具(1)--- Observatory簡介Flutter
- Hiddex -視窗管理工具簡介
- mysql 資料庫效能分析工具簡介MySql資料庫
- AnyProxy簡介移動端抓包工具
- PostgreSQL DBA(3) - 日誌分析工具pgbadger簡介SQL
- 微服務分散式跟蹤工具Brave簡介微服務分散式
- Oracle實時資料整合工具簡介SBOracle
- Hadoop打包與測試工具Bigtop簡介OHHadoop
- [資料庫]000 - ?Sysbench 資料庫壓力測試工具資料庫
- 版本管理工具Git(一)簡要介紹Git
- 自助分析工具Power BI的簡介和應用
- SQL Azure REST API與StreamInsight雲工具簡介RYSQLRESTAPI
- sysbench 測試MySQLMySql
- 通過sysbench工具實現MySQL資料庫的效能測試MySql資料庫
- AI晶片0.5與2.0AI晶片
- 0.5 px的邊框
- day0.5筆記筆記
- keepalived詳解 - LVS(IPVS)管理工具ipvsadm簡介
- MySQL 效能壓測工具-sysbench,從入門到自定義測試項MySql
- 簡介
- sysbench 壓力測試
- sysbench的安裝使用
- sysbench壓測實踐
- Jira使用簡介 HP ALM使用簡介
- MATLAB神經網路工具箱(簡單操作介紹)Matlab神經網路
- 第 54 期 TiDB SQL 相容性測試工具簡介TiDBSQL
- Linux下3種常用的網路測速工具簡介Linux
- Locust(Python負載測試工具)簡介和安裝方法Python負載