sysbench 1.0.6 mysql_Sysbench 测试mysql数据库性能(version:sysbench-1.1.0)
繼上面安裝完Mysql rpm 安裝之后需要用sysbench對數據庫進行性能測試:
下載
git clone https://github.com/akopytov/sysbench.git
或者直接去github下載:https://github.com/akopytov/sysbench
安裝前準備
除了上面Mysql rpm 安裝提到的需要安裝的四個rpm,還要安裝mysql-community-devel-version.x86_64.rpm,這個rpm也在mysql-version.x86_64.rpm-bundle.tar里
rpm -ivh mysql-community-devel-version.x86_64.rpm
關于mysql默認的安裝路徑在哪,參考這里
上傳sysbench-version.tar.gz到服務器
tar -zxvf sysbench-version.tar.gz
cd sysbench-version
如果你是按照rpm方式安裝的mysql,即默認路徑安裝,直接執行:
./autogen.sh
./configure
如果非默認路徑添加--with-mysql-includes 和 --with-mysql-libs 選項到 ./configure.
# --with-mysql-includes選項指定mysql的include文件夾,里面是一些.h的頭文件,比如mysql.h,未安裝mysql-community-devel-version是沒有include文件夾的
# with-mysql-libs選項指定mysql的一些lib,里面是一些.a文件和.so文件,比如libmysqlclient.a,libmysqlclient.so
# 比如./configure --prefix=/usr/local/ --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib64/mysql
make
遇到問題:
/usr/bin/ld: cannot find -lmysqlclient_r
collect2: error: ld returned 1 exit status
cannot find -l后面跟的是庫文件,就是mysqlclinet_r庫文件找不到
去根目錄找一下:
find / -name "*mysqlclient_r*"
/usr/lib64/mysql/libmysqlclient_r.so.18
/usr/lib64/mysql/libmysqlclient_r.so.18.1.0
庫文件是有的,不過帶個數字后綴,給庫文件建立軟鏈接:
ln -s /usr/lib64/mysql/libmysqlclient_r.so.18 /usr/lib64/mysql/libmysqlclient_r.so
重新make,搞定
make install
控制臺直接執行sysbench:
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
Reading the script from the standard input:
說明安裝成功
測試使用
語句:
sysbench oltp_read_write.lua --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-db=sbtest --mysql-user=root --mysql-password=123456 --table_size=200000000 --tables=1 --threads=500 --events=500000 --report-interval=10 --time=0
# 如果執行的時候提示FATAL: Cannot find benchmark 'oltp_read_write.lua': no such built-in test, file or module
切換到sysbench的源碼目錄(sysbench.tar.gz解壓路徑)
find ./ -name oltp_read_write.lua
./src/lua/oltp_read_write.lua
接著切換到src/lua 目錄再執行語句
#如果執行的時候命令行提示“Can not connect to MySQL server. Too many connections”-mysql 1040錯誤:
shell>mysql -uroot -p****
mysql>show variables like 'max_connections';(查看當前的最大連接數)
mysql>set global max_connections=1000;(設置最大連接數為1000,可以再次查看是否設置成功)
mysql>show variables like 'max_connections';(查看當前的最大連接數)
mysql>exit
解釋
--mysql-host IP
--mysql-port 端口號
--mysql-db 希望鏈接的數據庫
--mysql-user 用戶名
--mysql-password 密碼
--table_size 每張表初始化的數據數量
--tables 初始化表的數量
--threads 啟動的線程
--time 運行時間設為0表示不限制時間
--report-interval 運行期間日志,單位為秒
--events 最大請求數量,定義數量后可以不需要--time選項
Mysql測試步驟
寫好上面的語句
在上面的語句后面加上 prepare,執行
在上面的語句后面加上 run,執行
在上面的語句后面加上 cleanup,執行
prepare用于準備測試需要的數據,準備完后執行run來測試,測試完成后不要忘記執行cleanup來清楚測試數據
總結
以上是生活随笔為你收集整理的sysbench 1.0.6 mysql_Sysbench 测试mysql数据库性能(version:sysbench-1.1.0)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 实体类_Mysql生成实体类
- 下一篇: mysql主从维护_mysql主从日常管