好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Sysbench對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 ##檢查安裝是否成功

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

數據準備

準備

create database sysbench_test;

show databases; #檢查數據庫

quit #退出


2. 開始

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

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: 連接的數據庫開發的端口

執行提示錯誤

原因:

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

解決:

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

vim /etc/my.cnf

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

再次執行成功,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秒輸出一次測試信息

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

  • 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
#這里的參數按之前插入數據的參數填寫,確保全部清除干凈


檢查數據

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

您可能感興趣的文章:
  • MySQL數據庫基于sysbench實現OLTP基準測試
  • 通過sysbench工具實現MySQL數據庫的性能測試的方法
  • sysbench對mysql壓力測試的詳細教程
  • 使用sysbench來測試MySQL性能的詳細教程
  • 用sysbench來測試MySQL的性能的教程
  • MySQL性能壓力基準測試工具sysbench的使用簡介

標簽:合肥 天津 公主嶺 阿里 惠州 呼和浩特 沈陽 牡丹江

巨人網絡通訊聲明:本文標題《Sysbench對Mysql進行基準測試過程解析》,本文關鍵詞  Sysbench,對,Mysql,進行,基準,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Sysbench對Mysql進行基準測試過程解析》相關的同類信息!
  • 本頁收集關于Sysbench對Mysql進行基準測試過程解析的相關信息資訊供網民參考!
  • 推薦文章