91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

MySQL基準(zhǔn)測試和sysbench工具

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

掃碼添加小助手

加入工程師交流群

一、基準(zhǔn)測試簡介

1、什么是基準(zhǔn)測試

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

基準(zhǔn)測試與壓力測試

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

2、基準(zhǔn)測試的作用

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

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

3、基準(zhǔn)測試的指標(biāo)

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

TPS/QPS:衡量吞吐量。

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

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

4、基準(zhǔn)測試的分類

對MySQL的基準(zhǔn)測試,有如下兩種思路:

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

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

在針對MySQL進(jìn)行基準(zhǔn)測試時(shí),一般使用專門的工具進(jìn)行,例如mysqlslap、sysbench等。其中,sysbench比mysqlslap更通用、更強(qiáng)大,且更適合Innodb(因?yàn)?a href="http://m.makelele.cn/analog/" target="_blank">模擬了許多Innodb的IO特性),下面介紹使用sysbench進(jìn)行基準(zhǔn)測試的方法。

二、sysbench

1、sysbench簡介

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

cpu性能

磁盤io性能

調(diào)度程序性能

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

POSIX線程性能

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

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

2、sysbench安裝

本文使用的環(huán)境時(shí)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 #這里換成機(jī)器中mysql路徑下的include
make
make install

(4)安裝成功

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

3、sysbench語法

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

sysbench的基本語法如下:

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

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

(1)command

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

(2)testname

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

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

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

    (3)options

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

    MySQL連接信息參數(shù)

    --mysql-host:MySQL服務(wù)器主機(jī)名,默認(rèn)localhost;如果在本機(jī)上使用localhost報(bào)錯(cuò),提示無法連接MySQL服務(wù)器,改成本機(jī)的IP地址應(yīng)該就可以了。

    --mysql-port:MySQL服務(wù)器端口,默認(rèn)3306

    --mysql-user:用戶名

    --mysql-password:密碼

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

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

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

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

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

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

    --report-interval:生成報(bào)告的時(shí)間間隔,單位是秒,如10

    4、sysbench使用舉例

    在執(zhí)行sysbench時(shí),應(yīng)該注意:

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

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

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

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

    下面是sysbench使用的一個(gè)例子:

    (1)準(zhǔn)備數(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個(gè)表,每個(gè)表有10萬條數(shù)據(jù),客戶端的并發(fā)線程數(shù)為10,執(zhí)行時(shí)間為120秒,每10秒生成一次報(bào)告。

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

(2)執(zhí)行測試

將測試結(jié)果導(dǎo)出到文件中,便于后續(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:事務(wù)總數(shù)及tps

Latency-95th percentile:前95%的請求的最大響應(yīng)時(shí)間,本例中是344毫秒,這個(gè)延遲非常大,是因?yàn)槲矣玫腗ySQL服務(wù)器性能很差;在正式環(huán)境中這個(gè)數(shù)值是絕對不能接受的。

三、建議

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

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

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

3、基準(zhǔn)測試要進(jìn)行多次才有意義。

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

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

參考文獻(xiàn)http://blog.csdn.net/oahz4699092zhao/article/details/53332105

責(zé)任編輯:xj

原文標(biāo)題:詳解 MySQL 基準(zhǔn)測試和 sysbench 工具

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


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

    關(guān)注

    7

    文章

    4019

    瀏覽量

    68339
  • 基準(zhǔn)測試
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    7803
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    905

    瀏覽量

    29518

原文標(biāo)題:詳解 MySQL 基準(zhǔn)測試和 sysbench 工具

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    如何在Visual Studio 2022中運(yùn)行FX3吞吐量基準(zhǔn)測試工具?

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

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

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

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

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

    使用修改后的基準(zhǔn)C++工具推斷灰度圖像時(shí)的推理速度慢怎么解決?

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