一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - Sysbench對Mysql進行基準測試過程解析

Sysbench對Mysql進行基準測試過程解析

2021-03-12 20:09Huny Mysql

這篇文章主要介紹了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進行基準測試過程解析

檢查數據

Sysbench對Mysql進行基準測試過程解析

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/huny/p/13884108.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲 综合 自拍 精品 在线 | 欧美精品国产一区二区 | 精品久久久久免费极品大片 | 好大好硬好深好爽gif图 | 福利片福利一区二区三区 | 日韩拍拍拍 | 8x在线永久成人影院 | 婚前试爱全集免费观看 | 日韩性事| 国产成人高清精品免费观看 | 国产色综合久久五月色婷婷中文 | 男男调教打屁股 | 国产999在线观看 | 国产精品久久现线拍久青草 | 日本最新伦中文字幕 | 护士的小嫩嫩好紧好舒服 | 日韩精品一区二区三区中文在线 | 91精品国产综合久久精品 | 四虎4hu永久免费国产精品 | 午夜宅男影院 | 青青久久精品国产 | 国产一区二区三区丶四区 | 高h肉爽文农民工 | 金莲你下面好紧夹得我好爽 | 91在线免费播放 | 日本漫画工囗全彩番在线 | 蜜桃视频一区二区三区四区 | 色狼屋| 亚洲高清视频免费 | 小早川怜子息梦精在线播放 | 国产婷婷高清在线观看免费 | 暖暖免费高清完整版观看日本 | 国产在线观看人成激情视频 | 欧美一区二区三区成人看不卡 | 国产盗摄女厕美女嘘嘘 | pppd在线播放 | 极品蜜桃臀美女啪啪 | a一级毛片录像带 录像片 | 九九影院午夜理论片无码 | japan孕妇孕交freehd | 久久理论片迅播影院一级 |