MySQL壓測(cè)神器HammerDB的部署及使用詳解
前言
HammerDB 是一個(gè)開(kāi)源的數(shù)據(jù)庫(kù)負(fù)載測(cè)試和基準(zhǔn)測(cè)試工具,同時(shí)支持 Windows 和 Linux 平臺(tái)。
?? 1. HammerDB簡(jiǎn)介
HammerDB 是一個(gè)開(kāi)源的數(shù)據(jù)庫(kù)負(fù)載測(cè)試和基準(zhǔn)測(cè)試工具,同時(shí)支持 Windows 和 Linux 平臺(tái),可以針對(duì) Oracle 、SQL Server、DB2、TimesTen、 MySQL、MariaDB、
PostgreSQL、Postgres Plus Advanced Server、Greenplum、Redis、Amazon Aurora、Redshift 等進(jìn)行壓力測(cè)試。
它主要模擬兩種不同的測(cè)試模型:TPC-C 測(cè)試模型和 TPC-H 測(cè)試模型。相比于標(biāo)準(zhǔn)的 TPC-C 和 TPC-H,HammerDB 運(yùn)行成本低,操作簡(jiǎn)單, 是服務(wù)器數(shù)據(jù)庫(kù)壓力測(cè)試
的很好選擇。
• HammerDB 通過(guò)模擬 批發(fā)商的貨物管理環(huán)境,實(shí)現(xiàn)了 TPC-C 測(cè)試模型,即在線事務(wù)處理(OLTP)的基準(zhǔn)測(cè)試模型。測(cè)試結(jié)果由 TPC-C 吞吐率衡量,標(biāo)準(zhǔn)測(cè)試模型中
的單位是 tpmC(在 在 B HammerDB 是 中,測(cè)試結(jié)果的單位是 tpm,不是 tpmC。m tpm 表示每分鐘的事務(wù)交易數(shù)量,tpmC 是 TPC-C 的事務(wù)交易單位)。
• HammerDB 通過(guò)模擬供應(yīng)商和采購(gòu)商之間的交易行為,實(shí)現(xiàn)了 TPC-H 測(cè)試模型,即在線分析處理(OLAP)的基準(zhǔn)測(cè)試模型。測(cè)試結(jié)果由 TPCH Power 來(lái)衡量,該值
與數(shù)據(jù)量和交易平均時(shí)間有關(guān),表示一小時(shí)內(nèi)能夠完成的復(fù)雜交易的數(shù)量。
關(guān)于 TPC-C 和 TPC-H 的詳細(xì)介紹請(qǐng)參考 TPC 官方網(wǎng)站(http://www.tpc.org/)

?? 2. 容器部署
? 2.1 鏡像下載
docker pull techerwang/oracle:centos76
? 2.2 創(chuàng)建容器
docker rm -f jemhammerdb docker run -d --name jemhammerdb -h jemhammerdb \ -p 34389:3389 -p 42222:22 \ techerwang/oracle:centos76 init docker exec -it jemhammerdb bash
? 2.3 Linux 下安裝
wget https://github.com/TPC-Council/HammerDB/releases/download/v4.0/HammerDB-4.0-Linux.tar.gz
[root@jeames ~]# tar -zxvf HammerDB-4.0-Linux.tar.gz -C /usr/local/
[root@jeames ~]# cd /usr/local/HammerDB-4.0
[root@jeames HammerDB-4.0]# ./hammerdbcli
HammerDB CLI v4.0
Copyright (C) 2003-2020 Steve Shaw
Type "help" for a list of commands
The xml is well-formed, applying configuration
hammerdb>
hammerdb>help
HammerDB v4.0 CLI Help Index
Type "help command" for more details on specific commands below
buildschema
clearscript
customscript
datagenrun
dbset
dgset
diset
distributescript
librarycheck
loadscript
print
quit
runtimer
switchmode
vucomplete
vucreate
vudestroy
vurun
vuset
vustatus
waittocomplete
? 2.4 相關(guān)校驗(yàn)
hammerdb>librarycheck Checking database library for Oracle Error: failed to load Oratcl - can't read "env(ORACLE_HOME)": no such variable Ensure that Oracle client libraries are installed and the location in the LD_LIBRARY_PATH environment variable Checking database library for MSSQLServer Error: failed to load tdbc::odbc - couldn't load file "libiodbc.so": libiodbc.so: cannot open shared object file: No such file or directory Ensure that MSSQLServer client libraries are installed and the location in the LD_LIBRARY_PATH environment variable Checking database library for Db2 Error: failed to load db2tcl - couldn't load file "/usr/local/HammerDB-4.0/lib/db2tcl2.0.0/libdb2tcl.so.0.0.1": libdb2.so.1: cannot open shared object file: No such file or directory Ensure that Db2 client libraries are installed and the location in the LD_LIBRARY_PATH environment variable Checking database library for MySQL Success ... loaded library mysqltcl for MySQL Checking database library for PostgreSQL Error: failed to load Pgtcl - couldn't load file "/usr/local/HammerDB-4.0/lib/pgtcl2.1.1/libpgtcl2.1.1.so": libpq.so.5: cannot open shared object file: No such file or directory Ensure that PostgreSQL client libraries are installed and the location in the LD_LIBRARY_PATH environment variable
??3 . HammerDB壓測(cè)MySQL
1.如果是Windows直接點(diǎn)擊hammerdb.bat,如果是Linux需要調(diào)用圖形化界面 2.windows平臺(tái)壓測(cè),非常耗CPU ## 調(diào)用圖形化界面 export DISPLAY=192.168.1.1:0.0 echo $DISPLAY [root@jeames ~]# cd /usr/local/HammerDB-4.0 [root@jemhammerdb HammerDB-4.0]# ./hammerdb



注:生產(chǎn)環(huán)境壓測(cè),建議倉(cāng)庫(kù)數(shù)不少于100

mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mes_db | | mysql | | performance_schema | | sbtest | | sys | | tpcc | +--------------------+ 7 rows in set (0.00 sec) mysql> use tpcc Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> show tables; +----------------+ | Tables_in_tpcc | +----------------+ | customer | | district | | history | | item | | new_order | | order_line | | orders | | stock | | warehouse | +----------------+ 9 rows in set (0.00 sec)

select a.SCHEMA_NAME, a.DEFAULT_CHARACTER_SET_NAME,a.DEFAULT_COLLATION_NAME, sum(table_rows) as '記錄數(shù)', sum(truncate(data_length/1024/1024, 2)) as '數(shù)據(jù)容量(MB)', sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)', sum(truncate((data_length+index_length)/1024/1024, 2)) as '總大小(MB)', sum(truncate(max_data_length/1024/1024, 2)) as '最大值(MB)', sum(truncate(data_free/1024/1024, 2)) as '空閑空間(MB)' from INFORMATION_SCHEMA.SCHEMATA a left outer join information_schema.tables b on a.SCHEMA_NAME=b.TABLE_SCHEMA group by a.SCHEMA_NAME, a.DEFAULT_CHARACTER_SET_NAME,a.DEFAULT_COLLATION_NAME order by sum(data_length) desc, sum(index_length) desc;




mysql> show processlist;

到此這篇關(guān)于MySQL壓測(cè)神器HammerDB的部署及使用的文章就介紹到這了,更多相關(guān)mysql 壓測(cè)神器HammerDB內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql啟動(dòng)的error 2003和1067錯(cuò)誤問(wèn)題解決方法
mysql安裝好經(jīng)常發(fā)現(xiàn)無(wú)法正常啟動(dòng)碰到最多的是error 2003的錯(cuò)誤,經(jīng)研究在此附上解決方法,希望可以幫助有類(lèi)似問(wèn)題的朋友2013-09-09

