chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MySQL基準測試和sysbench工具

數(shù)據(jù)分析與開發(fā) ? 來源:數(shù)據(jù)分析與開發(fā) ? 作者:編程迷思 ? 2021-01-06 16:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、基準測試簡介

1、什么是基準測試

數(shù)據(jù)庫的基準測試是對數(shù)據(jù)庫的性能指標進行定量的、可復現(xiàn)的、可對比的測試。

基準測試與壓力測試

基準測試可以理解為針對系統(tǒng)的一種壓力測試。但基準測試不關(guān)心業(yè)務邏輯,更加簡單、直接、易于測試,數(shù)據(jù)可以由工具生成,不要求真實;而壓力測試一般考慮業(yè)務邏輯(如購物車業(yè)務),要求真實的數(shù)據(jù)。

2、基準測試的作用

對于多數(shù)Web應用,整個系統(tǒng)的瓶頸在于數(shù)據(jù)庫;原因很簡單:Web應用中的其他因素,例如網(wǎng)絡(luò)帶寬、負載均衡節(jié)點、應用服務器(包括CPU、內(nèi)存、硬盤燈、連接數(shù)等)、緩存,都很容易通過水平的擴展(俗稱加機器)來實現(xiàn)性能的提高。而對于MySQL,由于數(shù)據(jù)一致性的要求,無法通過增加機器來分散向數(shù)據(jù)庫寫數(shù)據(jù)帶來的壓力;雖然可以通過前置緩存(Redis等)、讀寫分離、分庫分表來減輕壓力,但是與系統(tǒng)其它組件的水平擴展相比,受到了太多的限制。

而對數(shù)據(jù)庫的基準測試的作用,就是分析在當前的配置下(包括硬件配置、OS、數(shù)據(jù)庫設(shè)置等),數(shù)據(jù)庫的性能表現(xiàn),從而找出MySQL的性能閾值,并根據(jù)實際系統(tǒng)的要求調(diào)整配置。

3、基準測試的指標

常見的數(shù)據(jù)庫指標包括:

TPS/QPS:衡量吞吐量。

響應時間:包括平均響應時間、最小響應時間、最大響應時間、時間百分比等,其中時間百分比參考意義較大,如前95%的請求的最大響應時間。。

并發(fā)量:同時處理的查詢請求的數(shù)量。

4、基準測試的分類

對MySQL的基準測試,有如下兩種思路:

(1)針對整個系統(tǒng)的基準測試:通過http請求進行測試,如通過瀏覽器、APP或postman等測試工具。該方案的優(yōu)點是能夠更好的針對整個系統(tǒng),測試結(jié)果更加準確;缺點是設(shè)計復雜實現(xiàn)困難。

(2)只針對MySQL的基準測試:優(yōu)點和缺點與針對整個系統(tǒng)的測試恰好相反。

在針對MySQL進行基準測試時,一般使用專門的工具進行,例如mysqlslap、sysbench等。其中,sysbench比mysqlslap更通用、更強大,且更適合Innodb(因為模擬了許多Innodb的IO特性),下面介紹使用sysbench進行基準測試的方法。

二、sysbench

1、sysbench簡介

sysbench是跨平臺的基準測試工具,支持多線程,支持多種數(shù)據(jù)庫;主要包括以下幾種測試:

cpu性能

磁盤io性能

調(diào)度程序性能

內(nèi)存分配及傳輸速度

POSIX線程性能

數(shù)據(jù)庫性能(OLTP基準測試)

本文主要介紹對數(shù)據(jù)庫性能的測試。

2、sysbench安裝

本文使用的環(huán)境時CentOS 6.5;在其他Linux系統(tǒng)上的安裝方法大同小異。MySQL版本是5.6。

(1)下載解壓

wget https://github.com/akopytov/sysbench/archive/1.0.zip -O "sysbench-1.0.zip"
unzip sysbench-1.0.zip
cd sysbench-1.0

(2)安裝依賴

yum install automake libtool –y

(3)安裝

安裝之前,確保位于之前解壓的sysbench目錄中。

./autogen.sh
./configure
export LD_LIBRARY_PATH=/usr/local/mysql/include #這里換成機器中mysql路徑下的include
make
make install

(4)安裝成功

[root@testsysbench-1.0]#sysbench--versionsysbench 1.0.9

3、sysbench語法

執(zhí)行sysbench –help,可以看到sysbench的詳細使用方法。

sysbench的基本語法如下:

sysbench [options]。.. [testname] [command]

下面說明實際使用中,常用的參數(shù)和命令。

(1)command

command是sysbench要執(zhí)行的命令,包括prepare、run和cleanup,顧名思義,prepare是為測試提前準備數(shù)據(jù),run是執(zhí)行正式的測試,cleanup是在測試完成后對數(shù)據(jù)庫進行清理。

(2)testname

testname指定了要進行的測試,在老版本的sysbench中,可以通過--test參數(shù)指定測試的腳本;而在新版本中,--test參數(shù)已經(jīng)聲明為廢棄,可以不使用--test,而是直接指定腳本。

例如,如下兩種方法效果是一樣的:

sysbench--test=./tests/include/oltp_legacy/oltp.luasysbench ./tests/include/oltp_legacy/oltp.lua
  • 測試時使用的腳本為lua腳本,可以使用sysbench自帶腳本,也可以自己開發(fā)。對于大多數(shù)應用,使用sysbench自帶的腳本就足夠了。不同版本的sysbench中,lua腳本的位置可能不同,可以自己在sysbench路徑下使用find命令搜索oltp.lua。P.S.:大多數(shù)數(shù)據(jù)服務都是oltp類型的,如果你不了解什么是oltp,那么大概率你的數(shù)據(jù)服務就是oltp類型的。

    (3)options

    sysbench的參數(shù)有很多,其中比較常用的包括:

    MySQL連接信息參數(shù)

    --mysql-host:MySQL服務器主機名,默認localhost;如果在本機上使用localhost報錯,提示無法連接MySQL服務器,改成本機的IP地址應該就可以了。

    --mysql-port:MySQL服務器端口,默認3306

    --mysql-user:用戶名

    --mysql-password:密碼

    MySQL執(zhí)行參數(shù)

    --oltp-test-mode:執(zhí)行模式,包括simple、nontrx和complex,默認是complex。simple模式下只測試簡單的查詢;nontrx不僅測試查詢,還測試插入更新等,但是不使用事務;complex模式下測試最全面,會測試增刪改查,而且會使用事務。可以根據(jù)自己的需要選擇測試模式。

    --oltp-tables-count:測試的表數(shù)量,根據(jù)實際情況選擇

    --oltp-table-size:測試的表的大小,根據(jù)實際情況選擇

    --threads:客戶端的并發(fā)連接數(shù)

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

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

    4、sysbench使用舉例

    在執(zhí)行sysbench時,應該注意:

    (1)盡量不要在MySQL服務器運行的機器上進行測試,一方面可能無法體現(xiàn)網(wǎng)絡(luò)(哪怕是局域網(wǎng))的影響,另一方面,sysbench的運行(尤其是設(shè)置的并發(fā)數(shù)較高時)會影響MySQL服務器的表現(xiàn)。

    (2)可以逐步增加客戶端的并發(fā)連接數(shù)(--thread參數(shù)),觀察在連接數(shù)不同情況下,MySQL服務器的表現(xiàn);如分別設(shè)置為10,20,50,100等。

    (3)一般執(zhí)行模式選擇complex即可,如果需要特別測試服務器只讀性能,或不使用事務時的性能,可以選擇simple模式或nontrx模式。

    (4)如果連續(xù)進行多次測試,注意確保之前測試的數(shù)據(jù)已經(jīng)被清理干凈。

    下面是sysbench使用的一個例子:

    (1)準備數(shù)據(jù)

sysbench ./tests/include/oltp_legacy/oltp.lua --mysql-host=192.168.10.10 --mysql-port=3306 --mysql-user=root --mysql-password=123456 --oltp-test-mode=complex --oltp-tables-count=10 --oltp-table-size=100000 --threads=10 --time=120 --report-interval=10 prepare

其中,執(zhí)行模式為complex,使用了10個表,每個表有10萬條數(shù)據(jù),客戶端的并發(fā)線程數(shù)為10,執(zhí)行時間為120秒,每10秒生成一次報告。

cdab7c6c-4fca-11eb-8b86-12bb97331649.png

(2)執(zhí)行測試

將測試結(jié)果導出到文件中,便于后續(xù)分析。

sysbench ./tests/include/oltp_legacy/oltp.lua --mysql-host=192.168.10.10 --mysql-port=3306 --mysql-user=root --mysql-password=123456 --oltp-test-mode=complex --oltp-tables-count=10 --oltp-table-size=100000 --threads=10 --time=120 --report-interval=10 run >> /home/test/mysysbench.log

(3)清理數(shù)據(jù)

執(zhí)行完測試后,清理數(shù)據(jù),否則后面的測試會受到影響。

sysbench ./tests/include/oltp_legacy/oltp.lua --mysql-host=192.168.10.10 --mysql-port=3306 --mysql-user=root --mysql-password=123456 cleanup

5、測試結(jié)果

測試結(jié)束后,查看輸出文件,如下所示:

d13a6d34-4fca-11eb-8b86-12bb97331649.png

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

queries:查詢總數(shù)及qps

transactions:事務總數(shù)及tps

Latency-95th percentile:前95%的請求的最大響應時間,本例中是344毫秒,這個延遲非常大,是因為我用的MySQL服務器性能很差;在正式環(huán)境中這個數(shù)值是絕對不能接受的。

三、建議

下面是使用sysbench的一些建議。

1、在開始測試之前,應該首先明確:應采用針對整個系統(tǒng)的基準測試,還是針對MySQL的基準測試,還是二者都需要。

2、如果需要針對MySQL的基準測試,那么還需要明確精度方面的要求:是否需要使用生產(chǎn)環(huán)境的真實數(shù)據(jù),還是使用工具生成也可以;前者實施起來更加繁瑣。如果要使用真實數(shù)據(jù),盡量使用全部數(shù)據(jù),而不是部分數(shù)據(jù)。

3、基準測試要進行多次才有意義。

4、測試時需要注意主從同步的狀態(tài)。

5、測試必須模擬多線程的情況,單線程情況不但無法模擬真實的效率,也無法模擬阻塞甚至死鎖情況。

參考文獻http://blog.csdn.net/oahz4699092zhao/article/details/53332105

責任編輯:xj

原文標題:詳解 MySQL 基準測試和 sysbench 工具

文章出處:【微信公眾號:數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    4016

    瀏覽量

    68323
  • 基準測試
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    7801
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    903

    瀏覽量

    29502

原文標題:詳解 MySQL 基準測試和 sysbench 工具

文章出處:【微信號:DBDevs,微信公眾號:數(shù)據(jù)分析與開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    恒訊科技解析:如何安裝MySQL并創(chuàng)建數(shù)據(jù)庫

    安裝和管理MySQL不必復雜。只需幾分鐘,你就能在Linux服務器上搭建MySQL,創(chuàng)建第一個數(shù)據(jù)庫,甚至自動化備份——同時確保數(shù)據(jù)安全有序。 什么是 MySQL? MySQL 是一個
    的頭像 發(fā)表于 01-14 14:25 ?167次閱讀

    Sandisk閃迪公司發(fā)布全新開源工具,突破數(shù)據(jù)存儲測試瓶頸

    Sandisk閃迪公司日前正式推出一款創(chuàng)新的開源工具SPRandom,旨在解決SSD基準測試中的重大技術(shù)瓶頸。簡而言之,預處理是基于實際工作負載對SSD進行測試的關(guān)鍵步驟,以確保性能表
    的頭像 發(fā)表于 12-22 17:41 ?505次閱讀

    工業(yè)數(shù)據(jù)中臺支持接入MySQL數(shù)據(jù)庫嗎

    可行性:MySQL與數(shù)據(jù)中臺的無縫對接 數(shù)據(jù)同步與采集 工業(yè)數(shù)據(jù)中臺通過數(shù)據(jù)同步工具(如CDC變更數(shù)據(jù)捕獲)或批量同步方式,可將MySQL中的業(yè)務數(shù)據(jù)實時或準實時抽取至中臺。例如,數(shù)據(jù)中臺可解析生產(chǎn)設(shè)備的PLC數(shù)據(jù),經(jīng)清洗、轉(zhuǎn)換
    的頭像 發(fā)表于 12-04 11:23 ?368次閱讀
    工業(yè)數(shù)據(jù)中臺支持接入<b class='flag-5'>MySQL</b>數(shù)據(jù)庫嗎

    如何選擇適合的智駕仿真工具進行場景生成和測試

    在自動駕駛技術(shù)日益發(fā)展的背景下,選擇合適的智駕仿真工具進行場景生成和測試顯得尤為重要。該工具不僅需要支持高精度的場景重建,還需滿足多種環(huán)境條件和傳感器模型的兼容性。本文將深入探討如何評估不同智駕仿真
    的頭像 發(fā)表于 11-25 10:32 ?371次閱讀
    如何選擇適合的智駕仿真<b class='flag-5'>工具</b>進行場景生成和<b class='flag-5'>測試</b>?

    嵌入式軟件測試與專業(yè)測試工具的必要性深度解析

    嵌入式系統(tǒng)作為控制、監(jiān)視或輔助裝置運行的專用計算機系統(tǒng),其軟件測試面臨著獨特的挑戰(zhàn)和嚴格的要求。專業(yè)測試工具在嵌入式軟件開發(fā)過程中發(fā)揮著不可替代的作用,是確保系統(tǒng)可靠性和安全性的關(guān)鍵保障。嵌入式軟件
    發(fā)表于 09-28 17:42

    mysql數(shù)據(jù)恢復—mysql數(shù)據(jù)庫表被truncate的數(shù)據(jù)恢復案例

    某云ECS網(wǎng)站服務器,linux操作系統(tǒng),部署了mysql數(shù)據(jù)庫。工作人員在執(zhí)行數(shù)據(jù)庫版本更新測試時,錯誤地將本應在測試庫執(zhí)行的sql腳本在生產(chǎn)庫上執(zhí)行了,導致部分表被truncate,部分表內(nèi)數(shù)據(jù)
    的頭像 發(fā)表于 09-11 09:28 ?853次閱讀
    <b class='flag-5'>mysql</b>數(shù)據(jù)恢復—<b class='flag-5'>mysql</b>數(shù)據(jù)庫表被truncate的數(shù)據(jù)恢復案例

    MySQL 8.0性能優(yōu)化實戰(zhàn)指南

    作為一名運維工程師,MySQL數(shù)據(jù)庫優(yōu)化是我們?nèi)粘9ぷ髦凶罹咛魬?zhàn)性的任務之一。MySQL 8.0作為當前主流版本,在性能、安全性和功能上都有了顯著提升,但如何充分發(fā)揮其潛力,仍需要我們掌握正確的優(yōu)化策略。
    的頭像 發(fā)表于 07-24 11:48 ?841次閱讀

    【米爾RK3576開發(fā)板免費體驗】1.米爾RK3576性能測試

    很高興收到米爾電子的RK3576開發(fā)板,開發(fā)板如下 這期主要是來測試一下米爾RK3576的硬件性能參數(shù)。主要分為以下幾個方面。 1。CPU測試 SysBench是一個模塊化的、跨平臺的多線程性能
    發(fā)表于 07-15 21:17

    MySQL數(shù)據(jù)備份與恢復策略

    數(shù)據(jù)是企業(yè)的核心資產(chǎn),MySQL作為主流的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),其數(shù)據(jù)的安全性和可靠性至關(guān)重要。本文將深入探討MySQL的數(shù)據(jù)備份策略、常用備份工具以及數(shù)據(jù)恢復的最佳實踐,幫助運維工程師構(gòu)建完善的數(shù)據(jù)保護體系。
    的頭像 發(fā)表于 07-14 11:11 ?723次閱讀

    企業(yè)級MySQL數(shù)據(jù)庫管理指南

    在當今數(shù)字化時代,MySQL作為全球最受歡迎的開源關(guān)系型數(shù)據(jù)庫,承載著企業(yè)核心業(yè)務數(shù)據(jù)的存儲與處理。作為數(shù)據(jù)庫管理員(DBA),掌握MySQL的企業(yè)級部署、優(yōu)化、維護技能至關(guān)重要。本文將從實戰(zhàn)角度出發(fā),系統(tǒng)闡述MySQL在企業(yè)環(huán)
    的頭像 發(fā)表于 07-09 09:50 ?712次閱讀

    MySQL數(shù)據(jù)庫是什么

    MySQL數(shù)據(jù)庫是一種 開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS) ,由瑞典MySQL AB公司開發(fā),后被Oracle公司收購。它通過結(jié)構(gòu)化查詢語言(SQL)進行數(shù)據(jù)存儲、管理和操作,廣泛應用于Web
    的頭像 發(fā)表于 05-23 09:18 ?1187次閱讀

    如何在Visual Studio 2022中運行FX3吞吐量基準測試工具?

    我正在嘗試運行 John Hyde 的書“SuperSpeed by Design”中的 FX3 吞吐量基準測試工具。 但是,我面臨一些困難,希望得到任何指導。 具體來說,我正在使用 Visual
    發(fā)表于 05-13 08:05

    除了增刪改查你對MySQL還了解多少

    我們都知道MySQL服務器的默認端口為3306,之后就在這個端口號上等待客戶端進程進行連接(MySQL服務器會默認監(jiān)聽3306端口)。
    的頭像 發(fā)表于 04-14 17:20 ?712次閱讀

    國產(chǎn)電壓基準源替換RFE3012應用于測試測量設(shè)備

    國產(chǎn)電壓基準源替換RFE3012應用于測試測量設(shè)備
    的頭像 發(fā)表于 03-06 10:43 ?848次閱讀
    國產(chǎn)電壓<b class='flag-5'>基準</b>源替換RFE3012應用于<b class='flag-5'>測試</b>測量設(shè)備

    使用修改后的基準C++工具推斷灰度圖像時的推理速度慢怎么解決?

    修改了 基準測試 C++ 工具 ,以加載灰度圖像。 獲得的推理速度非常低。
    發(fā)表于 03-06 07:11