使用sysbench進行雲數據庫mysql的測試php
我用的是金山雲node
1.雲服務器創建實例 ip:x.x.x.x centos-7.2 會有服務器帳戶,服務器密碼mysql
2.雲數據庫創建實例(關係型數據庫RDS) ip:y.y.y.y 會有數據庫帳戶,數據庫密碼 要注意的是 雲主機跟雲數據庫的路由或者vpc是同一個sql
3.用secureCRT遠程鏈接雲主機ip: 服務器帳戶,服務器密碼數據庫
4.鏈接成功後進入secureCRT裏面,開始安裝mysql服務(參考網址:http://blog.csdn.net/wshdc0802/article/details/78077963)centos
# rpm -qa |grep -i mysql 查看是否安裝MYSQLruby
# rpm -e php-mysql 刪除舊版本服務器
# rpm -e pcp-pmda-mysql 刪除舊版本架構
# rpm -e --nodeps pcp-pmda-mysql 強力刪除舊版本工具
# wget http://repo.mysql.com/mysql-community-release-el7.rpm 下載數據庫
# rpm -ivh mysql-community-release-el7.rpm 執行rpm -ivh rpm 包名
# yum install mysql-server yum mysql依賴包
下面我都輸入y
5.在雲主機上遠程鏈接mysql
# mysql -h y.y.y.y -u同戶名 -p密碼
6.鏈接成功會出現下圖
退出 mysql
輸入 #quit
7.yum安裝sysbench,很方便
# yum install -y sysbench
安裝成功輸入 #sysbench 會顯示版本 個人版本爲1.0.6
sysbench是一款開源的多線程性能測試工具,能夠執行CPU/內存/線程/IO/數據庫等方面的性能測試。數據庫目前支持MySQL/Oracle/PostgreSQL
8.使用sysbench測試雲數據庫mysql(oltp測試)
1.0.6版本丟棄了 --test=
對於mysql的OLTP測試,須要經歷prepare,run,cleanup三個階段。prepare階段會在數據庫中產生一張指定行數的表,默認表在sbtest架構下,表名爲
sbtest(sysbench默認生成表的存儲引擎爲innodb)
prepare:用於文件IO和數據庫OLTP測試的數據準備階段。
run:性能測試階段
cleanup:移除測試過程當中產生的數據
首先在mysql裏面創建數據庫sbtest,而後再執行命令。
prepare:
sysbench /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua --db-driver=mysql --threads=32 --time=7200 --max-requests=0 --oltp-read-only=off --report-interval=10 --oltp-table-size=1000 --oltp-tables-count=32 --mysql-table-engine=innodb --mysql-host=172.31.252.149 --mysql-port=3306 --mysql-user=admin --mysql-password=tan123YONG456 prepare
run:
sysbench /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua --db-driver=mysql --threads=32 --time=60 --max-requests=0 --oltp-read-only=off --report-interval=10 --oltp-table-size=1000 --oltp-tables-count=32 --mysql-table-engine=innodb --mysql-host=172.31.252.149 --mysql-port=3306 --mysql-user=admin --mysql-password=tan123YONG456 run
cleanup:
sysbench /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua --db-driver=mysql --threads=32 --time=60 --max-requests=0 --oltp-read-only=off --report-interval=10 --oltp-table-size=1000 --oltp-tables-count=32 --mysql-table-engine=innodb --mysql-host=172.31.252.149 --mysql-port=3306 --mysql-user=admin --mysql-password=tan123YONG456 cleanup
使用 # find / -name oltp.lua 找到oltp.lua 的位置 /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua
--db-driver=mysql 指定數據庫驅動程序
--threads=32 建立測試線程的數目
--time=60 最大執行時間,單位是s
--max-requests 默認值爲10000 ,若是設置了–max-requests 或者使用默認值 ,分析結果的時候主要查看運行時間(total time),通常狀況下,都將–max- requests 賦值爲0 ,即不限 制請求數量,經過--time 來指定測試時長,而後查看系統的每秒事務數。
--oltp-read-only=off 表示不要進行只讀測試,也就是會採用讀寫混合模式測試
--report-interval=10 表示每10秒輸出一次測試進度報告
--oltp-table-size=1000 每張表插入1000條數據
--oltp-tables-count=32 共建立32張表
--mysql-table-engine=innodb 數據表存儲引擎是innodb
--mysql-host=a --mysql-port=3306 --mysql-user=bbb --mysql-password=ccc 數據庫主機號,端口號,用戶名,密碼