日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
sysbench的安裝與使用

sysbench是一個(gè)開源的、模塊化的、跨平臺(tái)的多線程性能測(cè)試工具,可以用來進(jìn)行CPU、內(nèi)存、磁盤I/O、線程、數(shù)據(jù)庫(kù)的性能測(cè)試。目前支持的數(shù)據(jù)庫(kù)有MySQL、Oracle和PostgreSQL。以下操作都將以支持MySQL數(shù)據(jù)庫(kù)為例進(jìn)行。

一、 下載sysbench源碼包及mysql數(shù)據(jù)庫(kù)

\1. 目前sysbench代碼托管在launchpad上,項(xiàng)目地址: https://github.com/akopytov/sysbench,下載方式:

\2. MySQL官方下載地址:http://dev.mysql.com/downloads/mysql/,下載方式:

二、編譯安裝

\1. Mysql數(shù)據(jù)庫(kù)安裝:

mysql數(shù)據(jù)庫(kù)的安裝可參考本站的另一篇文章:Mysql二進(jìn)制包安裝與配置實(shí)戰(zhàn)記錄 或直接通過本站右側(cè)的搜索框搜索Mysql會(huì)發(fā)現(xiàn)很多關(guān)于Mysql安裝的文章,本文不再講解。

\2. sysbench編譯非常簡(jiǎn)單,可參考 README 文檔,簡(jiǎn)單步驟如下:

tar -zxvf sysbench-0.4.8.tar.gz
cd sysbench-0.4.8
./configure && make && make install
strip /usr/local/bin/sysbench

以上方法適用于MySQL安裝在標(biāo)準(zhǔn)默認(rèn)目錄下的情況,如果MySQL并不是安裝在標(biāo)準(zhǔn)目錄下的話,那么就需要自己指定MySQL的路徑了。比如我的MySQL喜歡自己安裝在/usr/local/mysql下,則按照以下方法編譯:

./configure --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib && make && make install

當(dāng)然了,用上面的參數(shù)編譯的話,就要確保你的MySQL lib目錄下有對(duì)應(yīng)的so文件,如果沒有,可以自己下載devel或者share包來安裝。
另外,如果想要讓sysbench支持pgsql/oracle的話,就需要在編譯的時(shí)候加上參數(shù)
--with-pgsql
或者
--with-oracle
這2個(gè)參數(shù)默認(rèn)是關(guān)閉的,只有MySQL是默認(rèn)支持的。

三、OLTP測(cè)試前準(zhǔn)備

初始化測(cè)試庫(kù)環(huán)境(總共10個(gè)測(cè)試表,每個(gè)表 100000 條記錄,填充隨機(jī)生成的數(shù)據(jù)):

cd /tmp/sysbench-0.4.12-1.1/sysbench
mysqladmin create sbtest

./sysbench --mysql-host=127.0.0.1 --mysql-port=3317 --mysql-user=tpcc --mysql-password=tpcc \
--test=tests/db/oltp.lua --oltp_tables_count=10 --oltp-table-size=100000 --rand-init=on prepare

關(guān)于這幾個(gè)參數(shù)的解釋:

--test=tests/db/oltp.lua 表示調(diào)用 tests/db/oltp.lua 腳本進(jìn)行 oltp 模式測(cè)試
--oltp_tables_count=10 表示會(huì)生成 10 個(gè)測(cè)試表
--oltp-table-size=100000 表示每個(gè)測(cè)試表填充數(shù)據(jù)量為 100000 
--rand-init=on 表示每個(gè)測(cè)試表都是用隨機(jī)數(shù)據(jù)來填充的

如果在本機(jī),也可以使用 –mysql-socket 指定 socket 文件來連接。加載測(cè)試數(shù)據(jù)時(shí)長(zhǎng)視數(shù)據(jù)量而定,若過程比較久需要稍加耐心等待。

真實(shí)測(cè)試場(chǎng)景中,數(shù)據(jù)表建議不低于 10個(gè) ,單表數(shù)據(jù)量不低于 500萬(wàn)行 ,當(dāng)然了,要視服務(wù)器硬件配置而定。如果是配備了SSD或者PCIE SSD這種高IOPS設(shè)備的話,則建議單表數(shù)據(jù)量最少不低于 1億行 。

四、進(jìn)行OLTP測(cè)試

在上面初始化數(shù)據(jù)參數(shù)的基礎(chǔ)上,再增加一些參數(shù),即可開始進(jìn)行測(cè)試了:

./sysbench --mysql-host=127.0.0.1 --mysql-port=3306 \
--mysql-user=tpcc --mysql-password=tpcc \
--test=tests/db/oltp.lua --oltp_tables_count=10 \ 
--oltp-table-size=10000000 --num-threads=8 \ 
--oltp-read-only=off --report-interval=10 \ 
--rand-type=uniform --max-time=3600 \ 
--mysql-table-engine=myisam --max-requests=0 \ 
--percentile=99 run >> ./log/sysbench_oltpX_8_20140921.log

關(guān)于這幾個(gè)參數(shù)的解釋:

--num-threads=8 表示發(fā)起 8個(gè)并發(fā)連接
--oltp-read-only=off 表示不要進(jìn)行只讀測(cè)試,也就是會(huì)采用讀寫混合模式測(cè)試
--report-interval=10 表示每10秒輸出一次測(cè)試進(jìn)度報(bào)告
--rand-type=uniform 表示隨機(jī)類型為固定模式,其他幾個(gè)可選隨機(jī)模式:uniform(固定),gaussian(高斯),special(特定的),pareto(帕累托)
--max-time=120 表示最大執(zhí)行時(shí)長(zhǎng)為 120秒
--max-requests=0 表示總請(qǐng)求數(shù)為 0,因?yàn)樯厦嬉呀?jīng)定義了總執(zhí)行時(shí)長(zhǎng),所以總請(qǐng)求數(shù)可以設(shè)定為 0;也可以只設(shè)定總請(qǐng)求數(shù),不設(shè)定最大執(zhí)行時(shí)長(zhǎng)
--percentile=99 表示設(shè)定采樣比例,默認(rèn)是 95%,即丟棄1%的長(zhǎng)請(qǐng)求,在剩余的99%里取最大值
--mysql-table-engine=myisam 表示測(cè)試的表存儲(chǔ)引擎類型為myisam

即:模擬 對(duì)10個(gè)表并發(fā)OLTP測(cè)試,每個(gè)表1000萬(wàn)行記錄,持續(xù)壓測(cè)時(shí)間為 1小時(shí)。

真實(shí)測(cè)試場(chǎng)景中,建議持續(xù)壓測(cè)時(shí)長(zhǎng)不小于 30分鐘 ,否則測(cè)試數(shù)據(jù)可能不具參考意義。

這里需要注意的是,官方網(wǎng)站上的參數(shù)有一處有誤,即 –mysql-table-engine,官方網(wǎng)站上寫的是 –mysql-table-type,這個(gè)應(yīng)該是沒有及時(shí)更新導(dǎo)致的。

另外,–mysql-table-engine參數(shù)還可以指定為 innodb 等 MySQL 支持的表存儲(chǔ)引擎類型。

五、測(cè)試結(jié)果解讀

測(cè)試結(jié)果解讀如下:

sysbench 0.5:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 8
Report intermediate results every 10 second(s)
Random number generator seed is 0 and will be ignored

Threads started!  --每10秒鐘報(bào)告一次測(cè)試結(jié)果,tps、每秒讀、每秒寫、99%以上的響應(yīng)時(shí)長(zhǎng)統(tǒng)計(jì)
[10s] threads: 8, tps: 1111.51, reads/s: 15568.42, writes/s: 4446.13, response time: 9.95ms (99%)
[20s] threads: 8, tps: 1121.90, reads/s: 15709.62, writes/s: 4487.80, response time: 9.78ms (99%)
[30s] threads: 8, tps: 1120.00, reads/s: 15679.10, writes/s: 4480.20, response time: 9.84ms (99%)
[40s] threads: 8, tps: 1114.20, reads/s: 15599.39, writes/s: 4456.30, response time: 9.90ms (99%)
[50s] threads: 8, tps: 1114.00, reads/s: 15593.60, writes/s: 4456.70, response time: 9.84ms (99%)
[60s] threads: 8, tps: 1119.30, reads/s: 15671.60, writes/s: 4476.50, response time: 9.99ms (99%)
OLTP test statistics:
  queries performed:
    read:          938224  --讀總數(shù)
    write:          268064  --寫總數(shù)
    other:          134032  --其他操作總數(shù)(SELECT、INSERT、UPDATE、DELETE
                                                 之外的操作,例如COMMIT等)
    total:          1340320 --全部總數(shù)
  transactions:          67016  (1116.83 per sec.)  --總事務(wù)數(shù)(每秒事務(wù)數(shù))
  deadlocks:          0   (0.00 per sec.) --發(fā)生死鎖總數(shù)
  read/write requests:         1206288 (20103.01 per sec.)--讀寫總數(shù)(每秒讀寫次數(shù))
  other operations:         134032 (2233.67 per sec.)  --其他操作總數(shù)(每秒其他操作次數(shù))

General statistics:                               --一些統(tǒng)計(jì)結(jié)果
  total time:          60.0053s       --總耗時(shí)
  total number of events:        67016       --共發(fā)生多少事務(wù)數(shù)
  total time taken by event execution: 479.8171s      --所有事務(wù)耗時(shí)相加(不考慮并行因素)
  response time:                               --響應(yīng)時(shí)長(zhǎng)統(tǒng)計(jì)
     min:          4.27ms       --最小耗時(shí)
     avg:          7.16ms       --平均耗時(shí)
     max:          13.80ms       --最長(zhǎng)耗時(shí)
     approx.  99 percentile:        9.88ms       --超過99%平均耗時(shí)

Threads fairness:
  events (avg/stddev):         8377.0000/44.33
  execution time (avg/stddev):         59.9771/0.00

本文名稱:sysbench的安裝與使用
文章分享:http://www.dlmjj.cn/article/cogcisd.html