MYSQL sysbench效能壓測

2021-09-29 05:51:20 字數 3266 閱讀 5756

sysbench是基於luajit的可編寫指令碼的多執行緒基準測試工具。它最常用於資料庫基準測試,但也可以用於建立不涉及資料庫伺服器的任意複雜的工作負載。

參考官方文件:

二進位制安裝

rhel / centos:

curl -s  | sudo bash

sudo yum -y install sysbench

[root@bogon ~]# sysbench --version

sysbench 1.0.18

tps,qps相關概念

qps:queries per second 查詢量/秒,是一台伺服器每秒能夠相應的查詢次數,是對乙個特定的查詢伺服器在規定時間內所處理查詢量多少的衡量標準

tps : transactions per second 是事務數/秒,是一台資料庫伺服器在單位時間內處理的事務的個數。

oltp測試:

準備階段:

sysbench /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua --oltp-table-size=10000 --mysql-table-engine=innodb --oltp-tables-count=10 --mysql-user=sb_test --mysql-password=sb_test --mysql-port=3306 --mysql-host=10.xx.xx.*** --mysql-db=sb_test --max-requests=0 --time=10 --report-interval=1 --threads=10 --oltp-point-selects=1 --oltp-******-ranges=0 --oltp_sum_ranges=0 --oltp_order_ranges=0 --oltp_distinct_ranges=0 --oltp-read-only=on prepare

測試階段:

命令如下:

sysbench /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua --oltp-table-size=10000 --mysql-table-engine=innodb --oltp-tables-count=10 --mysql-user=sb_test --mysql-password=sb_test --mysql-port=3306 --mysql-host=10.xx.xx.*** --mysql-db=sb_test --max-requests=0 --time=10 --report-interval=1 --threads=10 --oltp-point-selects=1 --oltp-******-ranges=0 --oltp_sum_ranges=0 --oltp_order_ranges=0 --oltp_distinct_ranges=0 --oltp-read-only=on run

清理階段:

sysbench /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua --oltp-table-size=10000 --mysql-table-engine=innodb --oltp-tables-count=10 --mysql-user=sb_test --mysql-password=sb_test --mysql-port=3306 --mysql-host=10.xx.xx.*** --mysql-db=sb_test --max-requests=0 --time=10 --report-interval=1 --threads=10 --oltp-point-selects=1 --oltp-******-ranges=0 --oltp_sum_ranges=0 --oltp_order_ranges=0 --oltp_distinct_ranges=0 --oltp-read-only=on cleanup

通過命令sysbench –help可以了解各引數的具體解釋

--test=tests/db/oltp.lua (新版本已經棄用)表示呼叫 tests/db/oltp.lua 指令碼進行 oltp 模式測試

--threads:客戶端的併發連線數

--time:測試執行的時間,單位是秒,該值不要太短,可以選擇120

--report-interval:生成報告的時間間隔,單位是秒,如10

--oltp_tables_count=10 表示會生成 10 個測試表

--oltp-table-size=100000 表示每個測試表填充資料量為 100000

--mysql-engine-trx=string指定不同的儲存引擎測試。

--oltp-test-mode=string測試型別:******(簡單select測試),complex(事務測試),nontrx(非事務測試),sp(儲存過程) ;預設complex

--oltp-sp-name=string指定儲存過程進行語句測試

--oltp-table-size=n指定表的記錄大小,預設[10000]

--oltp-num-tables=n指定測試表的數量,預設1

--rand-init=on 表示每個測試表都是用隨機資料來填充的

--file-num=n建立測試檔案的數量,預設128個

--file-block-size=n block size大小,預設16k

--file-total-size=size所有檔案的總大小,預設2g

--file-test-mode=string測試型別 --file-io-mode=string i/o模式,需要系統支援預設sync[sync(同步io),async(非同步io),mmap()]

--file-async-backlog=n每個執行緒的非同步操作佇列數,預設128個,需要--file-io-mode=async;

--file-extra-flags=string additional flags to use on opening files

--file-fsync-freq=n當請求數達到多少時執行fsync()重新整理,預設100,0代表過程中不執行fsync()

--file-fsync-all=[on|off] 執行每乙個寫操作後執行fsync()重新整理操作,預設關閉off --file-fsync-end=[on|off] 測試結束執行fsync()操作,預設開啟on --file-fsync-mode=string 同步重新整理方法,預設fsync --file-merged-requests=n合併指定數量的io請求,0代表不合併,預設0 --file-rw-ratio=n 讀寫比例,預設1.5/1

效能測試 效能測試步驟

針對此次庫內作業效能測試,梳理一下期間的工作流程 梳理已有的介面指令碼,確認需要做效能測試的幾個介面,即使用率高,對效能有要求的幾個主要介面。結合頁面的操作,和確認的介面,梳理具體的業務邏輯 同時,請開發人員部署了測試環境。測試環境的伺服器指標,盡量和生產環境一致。部署的時候,負載均衡等情況也盡量和...

《效能之巔》初識效能

效能是一門令人激動 富於變化的學科同時又充滿挑戰的學科。衡量效能乙個重要指標 延時 系統效能是對於整個系統進行研究,包括了所有的硬體元件和整個軟體棧。通用的軟體棧有哪些呢?包括作業系統 os 核心,資料庫和應用程式層。術語中的 全棧 有時候指的是程式應用環境,包含資料庫,應用程式,和 伺服器。效能通...

PHP效能 序 談效能

這裡不談php的效能和其他語言的效能,這裡討論php自身的效能問題。效能是什麼?通俗的來講,效能,就是在固定的環境下能做的事情的多少。為什麼要效能?1 每乙個軟體或 的環境是相對固定的 2 在相當的一段時間內,在保障增加的使用者數量的同時使得當前環境的軟體或 能夠正常執行 3 為了省錢 php的效能...