真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何進行sysbench壓力測試

如何進行sysbench壓力測試,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)公司專注于南川企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城網(wǎng)站定制開發(fā)。南川網(wǎng)站建設(shè)公司,為南川等地區(qū)提供建站服務(wù)。全流程按需定制網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

對于很多線上業(yè)務(wù)而言,如果有新服務(wù)器,新的環(huán)境,新的業(yè)務(wù),到底資源和預(yù)期的承載壓力是否匹配,這個得用數(shù)據(jù)說話,或是通過嚴(yán)謹(jǐn)?shù)恼撟C來闡述。

比如一臺新的服務(wù)器,一般都需要經(jīng)過壓力測試,我們也叫拷機測試。一般都會從多個維度來進行加壓(比如CPU,內(nèi)存,IO等等),看看服務(wù)器是否依舊堅挺,雖然這一點上如果產(chǎn)生了懈怠或者懶惰還是會被輕視,但是從身邊的例子來看,還是會測試出一些問題來,如果發(fā)現(xiàn)了問題,就避免了后續(xù)的很多被動。

sysbench就是這么一個工具,功能非常全面。是一個標(biāo)準(zhǔn)模塊化,多線程的基準(zhǔn)測試工具。

安裝的過程相對比較簡單,下載之后參考README文檔即可,我就直接略過了。

這個工具能夠測試哪些方面呢,我們用命令來說明。

sysbench --help

Compiled-in tests:

fileio- File I/O test

cpu- CPU performance test

memory- Memory functions speed test

threads- Threads subsystem performance test

mutex- Mutex performance test

oltp- OLTP test簡單來說就是下面的一些方面。

1、磁盤IO性能

2、CPU運算性能

3、調(diào)度程序性能

4、內(nèi)存分配及傳輸速度

5、POSIX線程性能

6、數(shù)據(jù)庫性能(OLTP基準(zhǔn)測試)

比如測試CPU,如果讓我們測試還真沒有什么好的思路,看看sysbench是怎么做的,可以使用命令sysbench --test=cpu help得到如下的結(jié)果:

cpu options:

--cpu-max-prime=N upper limit for primes generator [10000]可以看到重要的關(guān)鍵字prime,即質(zhì)數(shù),比如查找小于一千萬的最大質(zhì)數(shù),這個問題還是蠻燒腦的,就讓CPU來燒吧,這樣運行即可。會啟用10個并發(fā)線程,最大請求數(shù)是100

/usr/local/bin/sysbench --num-threads=10 --max-requests=100 --test=cpu --debug --cpu-max-prime=10000000 run

有了CPU壓測的基本概念,后續(xù)的幾種解釋起來就相對容易一些了。

比如測試內(nèi)存,可以指定測試范圍,如32G,64G根據(jù)自己需要來。

比如我們測試32G內(nèi)存,并發(fā)線程數(shù)是10個,最大請求數(shù)是100,分別從讀和寫兩種測試來做。

內(nèi)存讀測試

/usr/local/bin/sysbench --num-threads=10 --max-requests=100

--test=memory --memory-block-size=8k --memory-total-size=32G

--memory-oper=readrun內(nèi)存寫測試

/usr/local/bin/sysbench --num-threads=10 --max-requests=100 --test=memory --memory-block-size=8k --memory-total-size=32G--memory-oper=writerun而對于IO測試而言,是有些區(qū)別的,因為會有準(zhǔn)備數(shù)據(jù)(比如寫一個臨時文件),所以會分成幾個階段,準(zhǔn)備階段,運行階段,清理階段。

下面就是一個相對簡單的場景,20個文件,每個10GB,隨機讀寫,文件大小總量在200G.

/usr/local/bin/sysbench --file-num=20 --num-threads=20 --test=fileio

--file-total-size=

200G--max-requests=1000000 --file-test-mode=rndrwprepare

/usr/local/bin/sysbench --file-num=20 --num-threads=20

--test=fileio --file-total-size=

200G--max-requests=1000000 --file-test-mode=rndrwrun

/usr/local/bin/sysbench --file-num=20

--num-threads=20 --test=fileio --file-total-size=

200G--max-requests=1000000 --file-test-mode=rndrwcleanup硬件類的測試,基本一次測試就能夠得到一個基線數(shù)據(jù),就不需要反反復(fù)復(fù)測試了。而對于DBA還是開發(fā)同學(xué)而言,更加關(guān)注于業(yè)務(wù)層面,我們會從很多可能的角度和場景去分析權(quán)衡,這些sysbench也是支持的,就是oltp選項。

當(dāng)然sysben對于MySQL的支持是原生的,而對于其他的數(shù)據(jù)oracle,PostgreSQL等數(shù)據(jù),需要單獨配置。

因為應(yīng)用測試會產(chǎn)生基礎(chǔ)數(shù)據(jù),所以也是分為多階段的。

比如準(zhǔn)備基礎(chǔ)數(shù)據(jù),進行壓力測試,最后的統(tǒng)計結(jié)果和后期的清理。這里值得說的是,對于較低版本的sysbench而言,還不支持多表參數(shù)--oltp_tables_count,準(zhǔn)備好基礎(chǔ)數(shù)據(jù),后面就會開啟多線程模式進行模擬壓力的測試。比如下面的命令,測試模式complex,并發(fā)線程數(shù)30,最大請求數(shù)5000000 ,表的數(shù)據(jù)量在一億。先創(chuàng)建一個測試庫sysbenchtest,測試完成之后刪除即可。

mysql -uroot -e "create database if not exists sysbenchtest"

/usr/local/bin/sysbench --mysql-user=root --test=oltp

--mysql-host=localhost --oltp-test-mode=complex

--mysql-table-engine=innodb --oltp-table-size=100000000

--mysql-db=sysbenchtest --oltp-table-name=innodb_test --num-threads=30

--max-requests=5000000

prepare

/usr/local/bin/sysbench

--mysql-user=root --test=oltp --mysql-host=localhost

--oltp-test-mode=complex --mysql-table-engine=innodb

--oltp-table-size=100000000 --mysql-db=sysbenchtest

--oltp-table-name=innodb_test --num-threads=30 --max-requests=5000000

run

mysql -uroot -e "drop table if exists sysbenchtest.innodb_test; drop database if exists sysbenchtest"

在一臺服務(wù)器上我進行了測試,發(fā)現(xiàn)1億左右的數(shù)據(jù),數(shù)據(jù)文件在24G左右。

-rw-r----- 1 mysql mysql 61 Mar 10 11:20 db.opt

-rw-r----- 1 mysql mysql 8632 Mar 10 11:20 innodb_test.frm

-rw-r----- 1 mysql mysql 24419237888 Mar 10 13:29 innodb_test.ibd

得到的報告如下,可以看到整個過程持續(xù)了近3個小時,TPS在455左右,其實還是不高的。

如何進行sysbench壓力測試

對于壓力測試,其實一個蠻不錯的想法,就是我指定壓測的策略,然后讓它去在后臺運行,MGR測試腳本已經(jīng)寫好,會在測試之后共享給大家,這樣一來,我可以在瞬間創(chuàng)建出多個節(jié)點,然后測試很多復(fù)雜的壓力場景。到時候我就直接查看數(shù)據(jù),得到一個報告,想想都很有意思。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。


網(wǎng)頁名稱:如何進行sysbench壓力測試
本文鏈接:http://weahome.cn/article/pseeoo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部