中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何安裝與使用sysbench

發布時間:2022-02-18 11:27:53 來源:億速云 閱讀:232 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“如何安裝與使用sysbench”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何安裝與使用sysbench”這篇文章吧。

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

如何安裝與使用sysbench

一、 下載sysbench源碼包及mysql數據庫

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

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

二、編譯安裝

\1. Mysql數據庫安裝:

mysql數據庫的安裝可參考本站的另一篇文章:Mysql二進制包安裝與配置實戰記錄 或直接通過本站右側的搜索框搜索Mysql會發現很多關于Mysql安裝的文章,本文不再講解。

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

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

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

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

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

三、OLTP測試前準備

初始化測試庫環境(總共10個測試表,每個表 100000 條記錄,填充隨機生成的數據):

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

關于這幾個參數的解釋:

--test=tests/db/oltp.lua 表示調用 tests/db/oltp.lua 腳本進行 oltp 模式測試
--oltp_tables_count=10 表示會生成 10 個測試表
--oltp-table-size=100000 表示每個測試表填充數據量為 100000 
--rand-init=on 表示每個測試表都是用隨機數據來填充的

如果在本機,也可以使用 –mysql-socket 指定 socket 文件來連接。加載測試數據時長視數據量而定,若過程比較久需要稍加耐心等待。

真實測試場景中,數據表建議不低于 10個 ,單表數據量不低于 500萬行 ,當然了,要視服務器硬件配置而定。如果是配備了SSD或者PCIE SSD這種高IOPS設備的話,則建議單表數據量最少不低于 1億行

四、進行OLTP測試

在上面初始化數據參數的基礎上,再增加一些參數,即可開始進行測試了:

./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

關于這幾個參數的解釋:

--num-threads=8 表示發起 8個并發連接
--oltp-read-only=off 表示不要進行只讀測試,也就是會采用讀寫混合模式測試
--report-interval=10 表示每10秒輸出一次測試進度報告
--rand-type=uniform 表示隨機類型為固定模式,其他幾個可選隨機模式:uniform(固定),gaussian(高斯),special(特定的),pareto(帕累托)
--max-time=120 表示最大執行時長為 120秒
--max-requests=0 表示總請求數為 0,因為上面已經定義了總執行時長,所以總請求數可以設定為 0;也可以只設定總請求數,不設定最大執行時長
--percentile=99 表示設定采樣比例,默認是 95%,即丟棄1%的長請求,在剩余的99%里取最大值
--mysql-table-engine=myisam 表示測試的表存儲引擎類型為myisam

即:模擬 對10個表并發OLTP測試,每個表1000萬行記錄,持續壓測時間為 1小時。

真實測試場景中,建議持續壓測時長不小于 30分鐘 ,否則測試數據可能不具參考意義。

這里需要注意的是,官方網站上的參數有一處有誤,即 –mysql-table-engine,官方網站上寫的是 –mysql-table-type,這個應該是沒有及時更新導致的。

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

五、測試結果解讀

測試結果解讀如下:

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秒鐘報告一次測試結果,tps、每秒讀、每秒寫、99%以上的響應時長統計
[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  --讀總數
    write:          268064  --寫總數
    other:          134032  --其他操作總數(SELECT、INSERT、UPDATE、DELETE
                                                 之外的操作,例如COMMIT等)
    total:          1340320 --全部總數
  transactions:          67016  (1116.83 per sec.)  --總事務數(每秒事務數)
  deadlocks:          0   (0.00 per sec.) --發生死鎖總數
  read/write requests:         1206288 (20103.01 per sec.)--讀寫總數(每秒讀寫次數)
  other operations:         134032 (2233.67 per sec.)  --其他操作總數(每秒其他操作次數)

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

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

以上是“如何安裝與使用sysbench”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乐东| 青浦区| 民县| 临泽县| 南木林县| 清水河县| 津市市| 东平县| 兴城市| 丰县| 北川| 莱芜市| 扶风县| 荆州市| 白银市| 胶州市| 旬邑县| 青阳县| 平塘县| 威宁| 金华市| 汝城县| 尼玛县| 民丰县| 白山市| 海伦市| 上高县| 龙南县| 且末县| 云林县| 宽城| 清镇市| 北流市| 揭阳市| 法库县| 景东| 瑞丽市| 天门市| 建德市| 元氏县| 富宁县|