亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

利用Sysbench怎么對Mysql數據庫進行基準測試

發布時間:2020-11-30 15:56:59 來源:億速云 閱讀:210 作者:Leah 欄目:開發技術

利用Sysbench怎么對Mysql數據庫進行基準測試?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

1.基準測試(benchmarking)是性能測試的一種類型,強調的是對一類測試對象的某些性能指標進行定量的、可復現、可對比的測試。

進一步來理解,基準測試是在某個時候通過基準測試建立一個已知的性能水平(稱為基準線),當系統的軟硬件環境發生變化之后再進行一次基準測試以確定那些變化對性能的影響,這也是基準測試最常見的用途。其他用途包括測定某種負載水平下的性能極限、管理系統或環境的變化、發現可能導致性能問題的條件等等。

2.基準測試的作用:

對于大多數Web應用而言,系統的瓶頸往往很容易發生在數據庫端,原因很簡單:Web應用中的其他因素,例如網絡帶寬、負載均衡節點、應用服務器(包括CPU、內存、硬盤燈、連接數等)、緩存,都很容易通過水平的擴展(俗稱加機器)來實現性能的提高。而對于數據庫如MySQL,由于數據一致性的要求,無法通過增加機器來分散向數據庫寫數據帶來的壓力;雖然可以通過前置緩存(Redis等)、讀寫分離、分庫分表來減輕壓力,但是與系統其它組件的水平擴展相比,受到了太多的限制。
而對數據庫的基準測試的作用,就是分析在當前的配置下(包括硬件配置、OS、數據庫設置等),數據庫的性能表現,從而找出數據庫的性能閾值,并根據實際系統的要求調整配置。除此之外,對數據庫服務器進行基準測試,也通常用于觀察對比數據庫結構修改之前以及修改之后,其性能會受到什么樣的影響。

3.基準測試與壓力測試區別:

很多時候,基準測試和壓力測試在實際使用的過程中,很容易被弄混淆。基準測試可以理解為針對系統的一種壓力測試。但基準測試不關心業務邏輯,更加簡單、直接、易于測試,數據可以由工具生成,不要求真實;而壓力測試一般考慮業務邏輯(如購物車業務),要求真實的數據。

4.基準測試工具:

SysBench是一個模塊化的、跨平臺、多線程基準測試工具,主要用于評估測試各種不同系統參數下的數據庫負載情況。它主要包括以下幾種方式的測試:

1、cpu性能

2、磁盤io性能

3、調度程序性能

4、內存分配及傳輸速度

5、POSIX線程性能

6、數據庫性能(OLTP基準測試)

目前sysbench主要支持 MySQL,pgsql,oracle 這3種數據庫。

安裝

yum -y install sysbench

sysbench --help ##檢查安裝是否成功

友情提示:安裝出現依賴包缺少可以看這里

利用Sysbench怎么對Mysql數據庫進行基準測試

數據準備

準備

create database sysbench_test;

show databases; #檢查數據庫

quit #退出

利用Sysbench怎么對Mysql數據庫進行基準測試

2. 開始

find / -name oltp*.lua #查找sysbench自帶的數據寫入腳本的路徑,后面執行命令需要用到

利用Sysbench怎么對Mysql數據庫進行基準測試

sysbench /usr/share/sysbench/oltp_read_write.lua --tables=5 --table_size=100 --mysql-user=root --mysql-password=xxx --mysql-host=192.168.0.103 --mysql-port=3306 --mysql-db=sysbench_test prepare
#/usr/share/sysbench/oltp_read_write.lua :上面查詢到的sysbench自帶讀寫腳本的路徑
#--tables:指定生成表的數量,此處設置了5張表,表明生成5張測試表,讀者可根據實際需要,調整此值。
#--table_size:指定生成表中生成的數據量,上述例子,表明每張表生成100條測試數據,實際可以根據需要調整引值,比如調整為:1000000,即代表生成一百萬條測試數據。
#--mysql-db: 連接的測試數據庫名稱,此處使用上面創建的數據庫進行測試。
#--mysql-user: 連接的數據庫的用戶名
#--mysql-password: 連接的數據庫的密碼
#--mysql-port: 連接的數據庫開發的端口

執行提示錯誤

利用Sysbench怎么對Mysql數據庫進行基準測試

原因:

導入的數據超過數據庫默認的值

解決:

需要到安裝mysql的服務器上修改數據配置

vim /etc/my.cnf

修改max_allowed_packet的值,如果沒有則在最后面添加一行

利用Sysbench怎么對Mysql數據庫進行基準測試

再次執行成功,mysql客服端檢查一下數據

利用Sysbench怎么對Mysql數據庫進行基準測試

利用Sysbench怎么對Mysql數據庫進行基準測試

執行測試

sysbench /usr/share/sysbench/oltp_read_write.lua --mysql-user=root --mysql-password=xxx --mysql-host=192.168.0.103 --mysql-port=3306 --mysql-db=sysbench_test --tables=5 --table_size=100 --threads=10 --time=30 --report-interval=3 run
#--threads:表示線程數
#--time:表示執行時間
#--report-interval:表示間隔多少秒輸出測試信息
# run :表示運行,其他參數信息和上面一致就不在講解了

上述命令,表明使用了10個并發線程數,執行時間為30秒,每3秒輸出一次測試信息

利用Sysbench怎么對Mysql數據庫進行基準測試

其中,對于我們比較重要的信息包括:

  • queries:查詢總數及qps

  • transactions:事務總數及tps

  • Latency-95th percentile:前95%的請求的響應時間。

清理數據

測試完成后別忘了最后的收尾工作,大量的測試數據存在數據庫還是有影響的.

sysbench /usr/share/sysbench/oltp_read_write.lua --tables=5 --table_size=100 --mysql-user=root --mysql-password=xxx --mysql-host=192.168.0.103 --mysql-port=3306 --mysql-db=sysbench_test cleanup
#這里的參數按之前插入數據的參數填寫,確保全部清除干凈

看完上述內容,你們掌握利用Sysbench怎么對Mysql數據庫進行基準測試的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

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

AI

榕江县| 青铜峡市| 星座| 清新县| 仁怀市| 大悟县| 安徽省| 察雅县| 沂源县| 黄骅市| 曲阳县| 绵阳市| 梅河口市| 秦皇岛市| 泽库县| 永嘉县| 石楼县| 长泰县| 井研县| 修文县| 贵阳市| 兴安盟| 东光县| 临西县| 交口县| 南投市| 彰化县| 奎屯市| 元朗区| 本溪| 科技| 田阳县| 平顶山市| 白山市| 曲麻莱县| 奇台县| 宁陵县| 双鸭山市| 察哈| 阜南县| 天全县|