mysql數據庫三個關鍵性能指標--TPS\QPS\IOPS

2019年10月14日11:00:14 科技 1377

概述

今天主要介紹MySQL數據庫,或者說所有數據庫的三個關鍵性能指標:

  • qps 每秒處理的查詢數
  • tps 每秒處理的事務數
  • IOPS 每秒磁盤進行的I/O操作次數

mysql數據庫三個關鍵性能指標--TPS\QPS\IOPS - 天天要聞


一、TPS(適用innodb)

1、概念

Transactions Per Second(每秒傳輸的事物處理個數),即服務器每秒處理的事務數。

TPS包括一條消息入和一條消息出,加上一次用戶數據庫訪問。(業務TPS = CAPS × 每個呼叫平均TPS)

TPS是軟件測試結果的測量單位。一個事務是指一個客戶機向服務器發送請求然後服務器做出反應的過程。客戶機在發送請求時開始計時,收到服務器響應後結束計時,以此來計算使用的時間和完成的事務個數。

一般的,評價系統性能均以每秒鐘完成的技術交易的數量來衡量。系統整體處理能力取決於處理能力最低模塊的TPS值。

2、TPS計算

2.1、方法一

Com_commit = SHOW GLOBAL STATUS LIKE 'Com_commit';
Com_rollback = SHOW GLOBAL STATUS LIKE 'Com_rollback';
Uptime = SHOW GLOBAL STATUS LIKE 'Uptime';
TPS=(Com_commit + Com_rollback)/Uptime

2.2、方法二

use information_schema;
select VARIABLE_VALUE into @num_com from GLOBAL_STATUS where VARIABLE_NAME ='COM_COMMIT';
select VARIABLE_VALUE into @num_roll from GLOBAL_STATUS where VARIABLE_NAME ='COM_ROLLBACK';
select VARIABLE_VALUE into @uptime from GLOBAL_STATUS where VARIABLE_NAME ='UPTIME';
select (@num_com+@num_roll)/@uptime;

二、QPS(同時適用與InnoDB和MyISAM 引擎 )

1、概念

每秒查詢率QPS是對一個特定的查詢服務器在規定時間內所處理流量多少的衡量標準,在互聯網上,作為域名系統服務器的機器的性能經常用每秒查詢率來衡量。

對應fetches/sec,即每秒的響應請求數,也即是最大吞吐能力。

2、QPS計算

2.1、方法一

Questions = SHOW GLOBAL STATUS LIKE 'Questions';
Uptime = SHOW GLOBAL STATUS LIKE 'Uptime';
QPS=Questions/Uptime

2.2、方法二

use information_schema;
select VARIABLE_VALUE into @num_queries from GLOBAL_STATUS where VARIABLE_NAME ='QUESTIONS';
select VARIABLE_VALUE into @uptime from GLOBAL_STATUS where VARIABLE_NAME ='UPTIME';
select @num_queries/@uptime;

三、IOPS

1、概念

IOPS (Input/Output Per Second)即每秒的輸入輸出量(或讀寫次數),是衡量磁盤性能的主要指標之一。IOPS是指單位時間內系統能處理的I/O請求數量,一般以每秒處理的I/O請求數量為單位,I/O請求通常為讀或寫數據操作請求。隨機讀寫頻繁的應用,如OLTP(Online Transaction Processing),IOPS是關鍵衡量指標。另一個重要指標是數據吞吐量(Throughput),指單位時間內可以成功傳輸的數據數量。對於大量順序讀寫的應用,如VOD(Video On Demand),則更關注吞吐量指標。

傳統磁盤本質上一種機械裝置,如FC,SAS,SATA磁盤,轉速通常為5400/7200/10K/15K rpm不等。影響磁盤的關鍵因素是磁盤服務時間,即磁盤完成一個I/O請求所花費的時間,它由尋道時間、旋轉延遲和數據傳輸時間三部分構成。

尋道時間Tseek是指將讀寫磁頭移動至正確的磁道上所需要的時間。尋道時間越短,I/O操作越快,目前磁盤的平均尋道時間一般在3-15ms。

旋轉延遲Trotation是指盤片旋轉將請求數據所在扇區移至讀寫磁頭下方所需要的時間。旋轉延遲取決於磁盤轉速,通常使用磁盤旋轉一周所需時間的1/2表示。比如,7200 rpm的磁盤平均旋轉延遲大約為60*1000/7200/2 = 4.17ms,而轉速為15000 rpm的磁盤其平均旋轉延遲約為2ms。

數據傳輸時間Ttransfer是指完成傳輸所請求的數據所需要的時間,它取決於數據傳輸率,其值等於數據大小除以數據傳輸率。目前IDE/ATA能達到133MB/s,SATA II可達到300MB/s的接口數據傳輸率,數據傳輸時間通常遠小於前兩部分時間。

IOPS可細分為如下幾個指標:

Toatal IOPS,混合讀寫和順序隨機I/O負載情況下的磁盤IOPS,這個與實際I/O情況最為相符,大多數應用關注此指標。

  • Random Read IOPS,100%隨機讀負載情況下的IOPS。
  • Random Write IOPS,100%隨機寫負載情況下的IOPS。
  • Sequential Read IOPS,100%順序負載讀情況下的IOPS。
  • Sequential Write IOPS,100%順序寫負載情況下的IOPS。

IOPS的測試benchmark工具主要有Iometer, IoZone, FIO等,可以綜合用於測試磁盤在不同情形下的IOPS。對於應用系統,需要首先確定數據的負載特徵,然後選擇合理的IOPS指標進行測量和對比分析,據此選擇合適的存儲介質和軟件系統。

2、IOPS計算

理論上可以計算出磁盤的最大IOPS,即IOPS = 1000 ms/ (Tseek + Troatation),忽略數據傳輸時間。假設磁盤平均物理尋道時間為3ms, 磁盤轉速為7200,10K,15K rpm,則磁盤IOPS理論最大值分別為,

IOPS = 1000 / (3 + 60000/7200/2) = 140

IOPS = 1000 / (3 + 60000/10000/2) = 167

IOPS = 1000 / (3 + 60000/15000/2) = 200

3、案例

需求:20TB存儲空間同時滿足4500 IOPS+RAID 5,我應該如何計算?RAID 5或者RAID 1/0的時候分別需要多少塊硬盤?

首先需要知道I/O中讀操作(Read)與寫操作(Write)所佔的百分比。然後通過下列公式,將主機的IOPS需求轉換成硬盤實際IOPS負載:

mysql數據庫三個關鍵性能指標--TPS\QPS\IOPS - 天天要聞

假定4500 IOPS中讀/寫比是2:1,則不同RAID類型Drive IOPS要求分別如下:

RAID 1/0: (2/3)*4500 + 2*(1/3)*4500 = 6000 IOPS
RAID 5: (2/3)*4500 + 4*(1/3)*4500 = 9000 IOPS
RAID 6: (2/3)*4500 + 6*(1/3)*4500 = 12000 IOPS

再參照下表中不同類型硬盤單塊IOPS參數,得出需要多少塊硬盤:

mysql數據庫三個關鍵性能指標--TPS\QPS\IOPS - 天天要聞

假定選用FC 15K RPM硬盤,則:

RAID 1/0: 6000/180 = 34 塊
RAID 5: 9000/180 = 50 塊
RAID 6: 12000/180 = 67 塊

註:實際情況下還需考慮Vault Drivers (共5塊)以及Hot Spares (建議每30塊硬盤一個)。

最後,如果選用600GB FC硬盤來實現20TB可用空間,則RAID 1/0需要78塊,RAID 5需要42塊。


覺得有用的朋友多幫忙轉發哦!後面會分享更多devops和DBA方面的內容,感興趣的朋友可以關注下~

mysql數據庫三個關鍵性能指標--TPS\QPS\IOPS - 天天要聞

科技分類資訊推薦

騰訊發起「博物館好禮」計劃:微信送禮打造博物館文創消費新體驗 - 天天要聞

騰訊發起「博物館好禮」計劃:微信送禮打造博物館文創消費新體驗

2025年5月18日,第49個國際博物館日,今年主題為「快速變化社會中的博物館未來」。為助力博物館煥活文物價值,推動文創產業創新發展,騰訊SSV數字文化實驗室聯合微信小店發起「博物館好禮」計劃,依託微信小店等數字化工具,為博物館文創產品提供從入駐、展示、推廣到銷售的一攬子扶持計劃,打造「線上+線下」融合的文創消...
頭條首發文章,收益較以前減少了90%… - 天天要聞

頭條首發文章,收益較以前減少了90%…

#頭條創作挑戰賽#​,#每天頭條收益只有0.01元,還要堅持嗎#​今天有一篇關於,《今日頭條》,創作收益分成的文章。是頭條君自己說的,文章是按每個字定價,計算每千閱讀量收益的。他說文章通常是,每字0.4元至1元。按文章內容質量,計算每千閱讀
哈洽觀察|科技賦能銀髮經濟 龍江繪就「享老」新圖景 - 天天要聞

哈洽觀察|科技賦能銀髮經濟 龍江繪就「享老」新圖景

截至2024年底,全省60歲以上人口達866萬,佔總人口28.6%。在這片「銀髮經濟」新藍海中,孕育着萬億級市場機遇,一個貫穿衣、食、住、行、娛、醫的「老齡友好型社會」商業圖譜正在加速成形。在第三十四屆哈爾濱國際經濟貿易洽談會,省民政廳亮出「民政牽掛·守護夕陽」與「旅居康養·樂享龍江」雙品牌戰略,為全國銀髮經濟高...
巨虧24億!周亞輝的AI「遊戲」,股民買單 - 天天要聞

巨虧24億!周亞輝的AI「遊戲」,股民買單

以2022年11月ChatGPT爆火為標誌,這輪AI熱潮已經炒了快3年時間。這期間,有幾家公司在AI上的聲量特別大,比如A股公司里的崑崙萬維。2023年初,崑崙萬維就是那輪AI熱潮里漲幅最大的公司之一,短短几個月漲幅超過300%。但概念總得
英偉達 DGX Spark 配備 6144 個 CUDA 核心,與 RTX 5070 相同 - 天天要聞

英偉達 DGX Spark 配備 6144 個 CUDA 核心,與 RTX 5070 相同

IT之家 5 月 18 日消息,在 Computex 2025 台北國際電腦展開幕前夕,各家參展公司紛紛炫耀其最新獎項。巧的是,Computex「最佳選擇獎」頁面意外曝光了英偉達未曾公布 GB10 超級芯片規格。結合博主 @金豬升級包 分享的圖片,我們可以看到微星在現場展示了一款基於 DGX Spark 的個人 AI 超級計算機 —— EdgeExpert
竣工!冬奧黑科技成就首都「大冰櫃」 - 天天要聞

竣工!冬奧黑科技成就首都「大冰櫃」

近日中建三局北京公司承建的交通運輸部「十四五」交通運輸領域新基建重點工程北京東南高速智慧物聯港項目全面通過竣工驗收項目包含冷鏈物流設施和智慧物流綜合服務平台通過國內領先的「三首層」倉儲設施打造完善高效的供應鏈服務體系1容量最大化配備全自動立
科技助殘・無憂創業 福保街道舉辦第35次全國助殘日主題活動 - 天天要聞

科技助殘・無憂創業 福保街道舉辦第35次全國助殘日主題活動

​深圳商報·讀創客戶端記者 劉娥在第35次全國助殘日到來之際,為切實推動殘障群體權益保障,助力殘疾人融入社會、實現自我價值,福保街道近日舉辦「科技助殘・無憂創業」全國助殘日主題活動。活動圍繞科技賦能與創業幫扶展開,共吸引60餘名殘疾人及其家
警博會展示無人機新技術 專家建言護航低空安全 - 天天要聞

警博會展示無人機新技術 專家建言護航低空安全

中新網北京5月18日電 (記者 張素)僅有智能手機大小,集無人機與飛手定位、穿越機飛行畫面解析、飛手信息報備等多項功能於一體,可在半徑3公里低空空域內同時偵測定位無人機15架次以上;手持式無人機「察打誘」一體設備,通過頻譜感知、無線電干擾等技術,實現對無人機的身份識別、目標測向以及安防區智能化統一調度管控等…...