最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL性能指標(biāo)TPS+QPS+IOPS壓測(cè)

 更新時(shí)間:2022年08月04日 08:54:25   作者:IT邦德???????  
這篇文章主要介紹了MySQL性能指標(biāo)TPS+QPS+IOPS壓測(cè),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下

前言

今天主要介紹MySQL數(shù)據(jù)庫(kù),或者說(shuō)所有數(shù)據(jù)庫(kù)的三個(gè)關(guān)鍵性能指標(biāo)TPS\QPS\IOPS

1. 性能指標(biāo)概覽

QPS(Queries Per Second)就是每秒的查詢數(shù),對(duì)數(shù)據(jù)庫(kù)而言就是數(shù)據(jù)庫(kù)每秒執(zhí)行的 SQL 數(shù)(含 insert、select、update、delete 等)。
TPS(Transactions Per Second)就是每秒的事務(wù)數(shù)。TPS 對(duì)于數(shù)據(jù)庫(kù)而言就是數(shù)據(jù)庫(kù)每秒執(zhí)行的事務(wù)數(shù),以 commit 成功次數(shù)為準(zhǔn)。
IOPS 每秒磁盤(pán)進(jìn)行的I/O操作次數(shù)

2. 指標(biāo)計(jì)算方式

2.1 TPS

適用innodb Transactions Per Second(每秒傳輸?shù)氖挛锾幚韨€(gè)數(shù)),即服務(wù)器每秒處理的事務(wù)數(shù)
一般的,評(píng)價(jià)系統(tǒng)性能均以每秒鐘完成的技術(shù)交易的數(shù)量來(lái)衡量。系統(tǒng)整體處理能力取決于處理能力最低模塊的TPS值

mysql> SHOW GLOBAL STATUS LIKE 'Com_commit';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Com_commit    | 22402 |
+---------------+-------+
1 row in set (0.00 sec)

mysql> SHOW GLOBAL STATUS LIKE 'Com_rollback';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Com_rollback  | 0     |
+---------------+-------+
1 row in set (0.00 sec)
mysql> SHOW GLOBAL STATUS LIKE 'Uptime'
    -> ;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Uptime        | 3319  |
+---------------+-------+
1 row in set (0.01 sec)
TPS=(Com_commit + Com_rollback)/Uptime

2.2 QPS

同時(shí)適用與InnoDB和MyISAM 引擎 每秒查詢率QPS是對(duì)一個(gè)特定的查詢服務(wù)器在規(guī)定時(shí)間內(nèi)所處理流量多少的衡量標(biāo)準(zhǔn) 對(duì)應(yīng)fetches/sec,即每秒的響應(yīng)請(qǐng)求數(shù),也即是最大吞吐能力

2.3 IOPS

IOPS (Input/Output Per Second)即每秒的輸入輸出量(或讀寫(xiě)次數(shù)),是衡量磁盤(pán)性能的主要指標(biāo)之一。IOPS是指單位時(shí)間內(nèi)系統(tǒng)能處理的I/O請(qǐng)求數(shù)量,一般以每秒處理的I/O請(qǐng)求數(shù)量為單位,I/O請(qǐng)求通常為讀或?qū)憯?shù)據(jù)操作請(qǐng)求。隨機(jī)讀寫(xiě)頻繁的應(yīng)用,如OLTP(Online Transaction Processing),IOPS是關(guān)鍵衡量指標(biāo)。另一個(gè)重要指標(biāo)是數(shù)據(jù)吞吐量(Throughput),指單位時(shí)間內(nèi)可以成功傳輸?shù)臄?shù)據(jù)數(shù)量。對(duì)于大量順序讀寫(xiě)的應(yīng)用,如VOD(Video On Demand),則更關(guān)注吞吐量指標(biāo)。 IOPS可細(xì)分為如下幾個(gè)指標(biāo): Toatal IOPS,混合讀寫(xiě)和順序隨機(jī)I/O負(fù)載情況下的磁盤(pán)IOPS,
這個(gè)與實(shí)際I/O情況最為相符,大多數(shù)應(yīng)用關(guān)注此指標(biāo)。
Random Read IOPS,100%隨機(jī)讀負(fù)載情況下的IOPS。
Random Write IOPS,100%隨機(jī)寫(xiě)負(fù)載情況下的IOPS。
Sequential Read IOPS,100%順序負(fù)載讀情況下的IOPS。
Sequential Write IOPS,100%順序?qū)懾?fù)載情況下的IOPS。
IOPS的測(cè)試benchmark工具主要有Iometer, IoZone, FIO等,可以綜合用于測(cè)試磁盤(pán)在不同情形下的IOPS。對(duì)于應(yīng)用系統(tǒng),需要首先確定數(shù)據(jù)的負(fù)載特征,然后選擇合理的IOPS指標(biāo)進(jìn)行測(cè)量和對(duì)比分析,據(jù)此選擇合適的存儲(chǔ)介質(zhì)和軟件系統(tǒng)。

理論上可以計(jì)算出磁盤(pán)的最大IOPS,即IOPS = 1000 ms/ (Tseek + Troatation),忽略數(shù)據(jù)傳輸時(shí)間。假設(shè)磁盤(pán)平均物理尋道時(shí)間為3ms, 磁盤(pán)轉(zhuǎn)速為7200,10K,15K rpm,則磁盤(pán)IOPS理論最大值分別為,
IOPS = 1000 / (3 + 60000/7200/2) = 140
IOPS = 1000 / (3 + 60000/10000/2) = 167
IOPS = 1000 / (3 + 60000/15000/2) = 200

3. mysqlslap

3.1 壓測(cè)

mysqlslap 是 MySQL 自帶的一個(gè)用于實(shí)現(xiàn)負(fù)載性能測(cè)試和壓力測(cè)試的工具。它可以模擬多個(gè)客戶端對(duì)數(shù)據(jù)庫(kù)進(jìn)行施壓,并生成報(bào)告來(lái)了解數(shù)據(jù)庫(kù)的性能狀況。
mysqlslap 的運(yùn)行過(guò)程主要分三步:
① 創(chuàng)建庫(kù)、表,導(dǎo)入數(shù)據(jù)用于測(cè)試。此過(guò)程由單線程完成。
② 開(kāi)始進(jìn)行壓力測(cè)試。該步驟可以使用多線程完成。
③ 清理測(cè)試數(shù)據(jù)。此過(guò)程由單線程完成。

[root@jeames ~]# mysqlslap --help 

3.2 案例

mysqlslap -uroot -proot -h192.168.1.54 -P3306 \
--create-schema=mysqlslap --auto-generate-sql \
--auto-generate-sql-load-type=mixed \
--concurrency=100,200 --number-of-queries=1000 \
--iterations=10 --number-int-cols=7 \
--number-char-cols=13 --auto-generate-sql-add-autoincrement

Benchmark
#運(yùn)行所有語(yǔ)句的平均時(shí)間,單位秒
Average number of seconds to run all queries: 0.018 seconds
#運(yùn)行所有語(yǔ)句的最小秒數(shù)
Minimum number of seconds to run all queries: 0.018 seconds
#運(yùn)行所有語(yǔ)句的最大秒數(shù)
Maximum number of seconds to run all queries: 0.018 seconds
#客戶端數(shù)量
Number of clients running queries: 1
#每個(gè)客戶端運(yùn)行查詢的平均數(shù)
Average number of queries per client: 0

該語(yǔ)句表示測(cè)試并發(fā)為 100 和 200 的情況,進(jìn)行 1000 次訪問(wèn)(該值一般這樣預(yù)估出來(lái):并發(fā)客戶數(shù)×每客戶查詢次數(shù))。這樣的測(cè)試方法迭代 10 次,最終顯示最大、
最小、平均值
其中:--debug-info,代表要額外輸出 CPU 以及內(nèi)存的相關(guān)信息。如果報(bào)錯(cuò) Option 'debug-info' used, but is disabled 請(qǐng)取消 debug-info 參數(shù)
-number-int-cols=7 表示生成的表中必須有 7 個(gè) int 類型的列
-number-char-cols=13 表示生成的表中必須有 13 個(gè) char 類型的列
-concurrency 代表并發(fā)數(shù)量,多個(gè)可以用逗號(hào)隔開(kāi),concurrency=10,50,100, 并發(fā)連接線程數(shù)分別是 10、50、100 個(gè)并發(fā)。
--engines 代表要測(cè)試的引擎,可以有多個(gè),用分隔符隔開(kāi)。
--iterations 代表要運(yùn)行這些測(cè)試多少次。
--auto-generate-sql 代表用系統(tǒng)自己生成的 SQL 腳本來(lái)測(cè)試。
--auto-generate-sql-load-type 代表要測(cè)試的是讀還是寫(xiě)還是兩者混合的(read,write,update,mixed)
--number-of-queries 代表總共要運(yùn)行多少次查詢。每個(gè)客戶運(yùn)行的查詢數(shù)量可以用查詢總數(shù)/并發(fā)數(shù)來(lái)計(jì)算。
--debug-info 代表要額外輸出 CPU 以及內(nèi)存的相關(guān)信息。
--number-int-cols :創(chuàng)建測(cè)試表的 int 型字段數(shù)量
--auto-generate-sql-add-autoincrement : 代表對(duì)生成的表自動(dòng)添加 auto_increment 列,從 5.1.18 版本開(kāi)始
--number-char-cols 創(chuàng)建測(cè)試表的 char 型字段數(shù)量。
--create-schema 測(cè)試的 schema,MySQL 中 schema 也就是 database。
--query 使用自定義腳本執(zhí)行測(cè)試,例如可以調(diào)用自定義的一個(gè)存儲(chǔ)過(guò)程或者 sql 語(yǔ)句來(lái)執(zhí)行測(cè)試。
--only-print 查看語(yǔ)句做了什么。

到此這篇關(guān)于MySQL性能指標(biāo)TPS+QPS+IOPS壓測(cè)的文章就介紹到這了,更多相關(guān)MySQL性能指標(biāo)壓測(cè)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL Community Server壓縮包安裝配置方法

    MySQL Community Server壓縮包安裝配置方法

    這篇文章主要為大家詳細(xì)介紹了MySQL Community Server壓縮包安裝配置方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • MySQL頁(yè)面訪問(wèn)統(tǒng)計(jì)及排名情況

    MySQL頁(yè)面訪問(wèn)統(tǒng)計(jì)及排名情況

    這篇文章主要介紹了MySQL頁(yè)面訪問(wèn)統(tǒng)計(jì)及排名情況,涉及到mysql頁(yè)面訪問(wèn)統(tǒng)計(jì),mysql統(tǒng)計(jì)排名相關(guān)知識(shí),感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • MySQL中SQL模式的特點(diǎn)總結(jié)

    MySQL中SQL模式的特點(diǎn)總結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于MySQL中SQL模式特點(diǎn)的相關(guān)資料,文章介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • 如何解決mysql的count()函數(shù)條件表達(dá)式不生效問(wèn)題

    如何解決mysql的count()函數(shù)條件表達(dá)式不生效問(wèn)題

    該文章總結(jié)了SQL查詢中`count`函數(shù)統(tǒng)計(jì)錯(cuò)誤的原因,以及三種解決方法:使用`ornull`方法、`IF()`函數(shù)和`casewhen`表達(dá)式,當(dāng)不滿足條件時(shí),表達(dá)式的值為NULL
    2024-11-11
  • MySQL中的批量修改、插入操作數(shù)據(jù)庫(kù)

    MySQL中的批量修改、插入操作數(shù)據(jù)庫(kù)

    在平常的項(xiàng)目中,我們會(huì)需要批量操作數(shù)據(jù)庫(kù)的時(shí)候,例如:批量修改,批量插入,那我們不應(yīng)該使用 for 循環(huán)去操作數(shù)據(jù)庫(kù),這樣會(huì)導(dǎo)致我們反復(fù)與數(shù)據(jù)庫(kù)發(fā)生連接和斷開(kāi)連接,影響性能和增加操作時(shí)間,所以可以使用SQL 批量修改的方式去操作數(shù)據(jù)庫(kù),感興趣的朋友一起學(xué)習(xí)下吧
    2023-09-09
  • 詳解MYSQL的備份還原(PHP實(shí)現(xiàn))

    詳解MYSQL的備份還原(PHP實(shí)現(xiàn))

    本篇文章是對(duì)MYSQL的備份還原進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • 使用Mycat-eye管理Mycat數(shù)據(jù)庫(kù)服務(wù)的操作

    使用Mycat-eye管理Mycat數(shù)據(jù)庫(kù)服務(wù)的操作

    MyCat是一個(gè)開(kāi)源的分布式數(shù)據(jù)庫(kù)系統(tǒng),是一個(gè)實(shí)現(xiàn)了MySQL協(xié)議的服務(wù)器,前端用戶可以把它看作是一個(gè)數(shù)據(jù)庫(kù)代理,用MySQL客戶端工具和命令行訪問(wèn),本文給大家介紹了使用Mycat-eye管理Mycat數(shù)據(jù)庫(kù)服務(wù)的操作,需要的朋友可以參考下
    2024-04-04
  • MySQL?InnoDB引擎的緩存特性詳解

    MySQL?InnoDB引擎的緩存特性詳解

    這篇文章主要介紹了MySQL?InnoDB引擎的緩存特性詳解的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • 深入理解mysql的自連接和join關(guān)聯(lián)

    深入理解mysql的自連接和join關(guān)聯(lián)

    這篇文章主要給大家介紹了關(guān)于mysql的自連接和join關(guān)聯(lián)的相關(guān)資料,文中介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-04-04
  • mysql如何將時(shí)間格式化為yyyy-MM-dd或yyyy-MM-dd?HH:mm:ss

    mysql如何將時(shí)間格式化為yyyy-MM-dd或yyyy-MM-dd?HH:mm:ss

    這篇文章主要介紹了mysql如何將時(shí)間格式化為yyyy-MM-dd或yyyy-MM-dd?HH:mm:ss問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07

最新評(píng)論

苍溪县| 曲阜市| 贵州省| 岑溪市| 乌鲁木齐市| 安多县| 田阳县| 湖口县| 梁山县| 呼伦贝尔市| 包头市| 尼勒克县| 锦州市| 盐源县| 马鞍山市| 彭州市| 丁青县| 洛南县| 灌云县| 察隅县| 盐城市| 道真| 泰兴市| 琼结县| 柳州市| 清徐县| 泰和县| 樟树市| 玛纳斯县| 拜城县| 全椒县| 分宜县| 正宁县| 湟源县| 宝山区| 昌乐县| 富川| 保山市| 甘洛县| 黑龙江省| 治县。|