詳解數(shù)據(jù)庫三個核心性能指標--TPS\QPS\IOPS

今天主要介紹所有數(shù)據(jù)庫的三個關鍵性能指標:

qps 每秒處理的查詢數(shù)

tps 每秒處理的事務數(shù)

IOPS 每秒磁盤進行的I/O操作次數(shù)


一拆祈、TPS

1、概念

Transactions Per Second(每秒傳輸?shù)氖挛锾幚韨€數(shù))坛怪,即服務器每秒處理的事務數(shù)诲祸。

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

TPS是軟件測試結果的測量單位八回。一個事務是指一個客戶機向服務器發(fā)送請求然后服務器做出反應的過程酷愧。客戶機在發(fā)送請求時開始計時缠诅,收到服務器響應后結束計時溶浴,以此來計算使用的時間和完成的事務個數(shù)。

一般的滴铅,評價系統(tǒng)性能均以每秒鐘完成的技術交易的數(shù)量來衡量戳葵。系統(tǒng)整體處理能力取決于處理能力最低模塊的TPS值。

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

1拱烁、概念

每秒查詢率QPS是對一個特定的查詢服務器在規(guī)定時間內所處理流量多少的衡量標準,在因特網(wǎng)上噩翠,作為域名系統(tǒng)服務器的機器的性能經(jīng)常用每秒查詢率來衡量戏自。

對應fetches/sec,即每秒的響應請求數(shù)伤锚,也即是最大吞吐能力擅笔。

三、IOPS

1屯援、概念

IOPS (Input/Output Per Second)即每秒的輸入輸出量(或讀寫次數(shù))猛们,是衡量磁盤性能的主要指標之一。IOPS是指單位時間內系統(tǒng)能處理的I/O請求數(shù)量狞洋,一般以每秒處理的I/O請求數(shù)量為單位弯淘,I/O請求通常為讀或寫數(shù)據(jù)操作請求。隨機讀寫頻繁的應用吉懊,如OLTP(Online Transaction Processing)庐橙,IOPS是關鍵衡量指標假勿。另一個重要指標是數(shù)據(jù)吞吐量(Throughput),指單位時間內可以成功傳輸?shù)臄?shù)據(jù)數(shù)量态鳖。對于大量順序讀寫的應用转培,如VOD(Video On Demand),則更關注吞吐量指標浆竭。

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

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

旋轉延遲Trotation是指盤片旋轉將請求數(shù)據(jù)所在扇區(qū)移至讀寫磁頭下方所需要的時間测萎。旋轉延遲取決于磁盤轉速,通常使用磁盤旋轉一周所需時間的1/2表示届巩。比如硅瞧,7200 rpm的磁盤平均旋轉延遲大約為60*1000/7200/2 = 4.17ms,而轉速為15000 rpm的磁盤其平均旋轉延遲約為2ms恕汇。

數(shù)據(jù)傳輸時間Ttransfer是指完成傳輸所請求的數(shù)據(jù)所需要的時間腕唧,它取決于數(shù)據(jù)傳輸率,其值等于數(shù)據(jù)大小除以數(shù)據(jù)傳輸率瘾英。目前IDE/ATA能達到133MB/s枣接,SATA II可達到300MB/s的接口數(shù)據(jù)傳輸率,數(shù)據(jù)傳輸時間通常遠小于前兩部分時間缺谴。

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

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

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祝高。對于應用系統(tǒng),需要首先確定數(shù)據(jù)的負載特征污筷,然后選擇合理的IOPS指標進行測量和對比分析工闺,據(jù)此選擇合適的存儲介質和軟件系統(tǒng)。

-----------------------------------------------------------------------------------------------------------------------------------------------------

TPS指系統(tǒng)每秒處理的事務數(shù)瓣蛀,是衡量一個區(qū)塊鏈系統(tǒng)性能最重要的指標之一陆蟆。隨著區(qū)塊鏈發(fā)展日趨活躍,一些主流區(qū)塊鏈項目網(wǎng)絡阻塞問題也愈加嚴重惋增,導致區(qū)塊鏈在高并發(fā)業(yè)務領域無法落地叠殷。目前不少的技術方案與項目都在著力解決此類問題,以達到更高的TPS诈皿。

區(qū)塊鏈系統(tǒng)TPS的計算公式為:

TPS= 事務處理數(shù)量 / 花費的時間

其中林束,測試數(shù)據(jù)需要在系統(tǒng)穩(wěn)定運行狀態(tài)下獲取,否則會影響測試結果的準確性稽亏。

03影響因素分析

在區(qū)塊鏈系統(tǒng)的生命周期中壶冒,影響其TPS的因素大致可以分成內在和外在兩大類。內在因素包括系統(tǒng)共識機制截歉、區(qū)塊參數(shù)設置胖腾、事務過程優(yōu)化、節(jié)點配置瘪松、加密算法等咸作。外在因素包括資源配置、測試驗證環(huán)境等凉逛。

內在因素

內在因素是基于區(qū)塊鏈系統(tǒng)在設計時底層技術的選擇性宏,如共識機制、數(shù)據(jù)結構状飞、加密算法等毫胜,以及開發(fā)時區(qū)塊大小和出塊時間等參數(shù)設置、系統(tǒng)運維中的系統(tǒng)優(yōu)化和升級等诬辈。本節(jié)主要分析共識機制酵使、區(qū)塊參數(shù)配置、事務過程優(yōu)化對區(qū)塊鏈系統(tǒng)TPS的影響焙糟。

共識機制

共識機制是指以去中心化的方式就網(wǎng)絡的狀態(tài)達成統(tǒng)一協(xié)議的過程口渔,是區(qū)塊鏈最核心技術之一。下表列出了四種主流的區(qū)塊鏈共識機制穿撮,并對比了基于這些共識機制的區(qū)塊鏈項目特點缺脉』居基于PoW共識的比特幣和基于PoW+PoS的以太坊,TPS均在40以下攻礼;基于DPoS共識的EOS业踢,TPS達到了3600;基于kalka的超級賬本項目礁扮,TPS能達到萬級知举。可以看出太伊,基于不同共識機制的區(qū)塊鏈系統(tǒng)TPS可能存在數(shù)量級的差距雇锡。

主流共識機制對比

區(qū)塊鏈網(wǎng)絡中存在“不可能的三角”,即無論采用何種共識機制僚焦,皆無法同時兼顧擴展性锰提、安全性、去中心這三項要求芳悲。當系統(tǒng)追求高TPS的時候欲账,必然會犧牲掉一部分安全性或是導致系統(tǒng)過于中心化。以聯(lián)盟鏈為例芭概,雖然其實現(xiàn)了低能耗和高性能,卻導致了系統(tǒng)過于中心化惩嘉。而比特幣雖然效率較低罢洲,TPS數(shù)量級為個位數(shù),但其實現(xiàn)了高度去中心化文黎,項目穩(wěn)定運行11年惹苗,安全性受到市場的高度認可∷是停總的來說桩蓉,共識機制對區(qū)塊鏈系統(tǒng)TPS起著決定性作用。

區(qū)塊參數(shù)

區(qū)塊參數(shù)包含了區(qū)塊大小和出塊時間劳闹。對基于同一底層的區(qū)塊鏈系統(tǒng)而言院究,區(qū)塊容量和TPS成正比關系,即區(qū)塊容量越大本涕,系統(tǒng)TPS越高业汰。以基于PoW共識機制的比特幣和比特幣現(xiàn)金為例,比特幣每個區(qū)塊大小設定為1M菩颖,TPS為7样漆,而比特幣現(xiàn)金的每個區(qū)塊為8M,TPS在24-224之間晦闰。反觀出塊時間對TPS的影響放祟,出塊時間與TPS成反比關系鳍怨,出塊需要的時間越長,系統(tǒng)TPS越低跪妥。以比特幣和萊特幣為例鞋喇,相較于比特幣,萊特幣出塊時間縮短了7.5分鐘骗奖,但TPS提高了近4倍确徙。可以看出执桌,區(qū)塊參數(shù)對系統(tǒng)TPS有顯著的影響鄙皇。

交易驗證

區(qū)塊鏈系統(tǒng)中,一筆交易的生命周期包括交易請求仰挣、交易廣播伴逸、交易驗證、交易打包膘壶、交易上鏈错蝴、交易完成等步驟,其中交易驗證機制是影響區(qū)塊鏈系統(tǒng)TPS的因素之一颓芭。當前顷锰,閃電網(wǎng)絡、狀態(tài)通道亡问、分片處理是幾種常用的優(yōu)化交易驗證方法官紫,其中閃電網(wǎng)絡和狀態(tài)通道保持了底層區(qū)塊鏈協(xié)議不變,將交易放到鏈下執(zhí)行州藕,即通過改變協(xié)議用法的方式來解決擴展性問題束世。分片處理通過將交易引流到不同片區(qū)并在片區(qū)內執(zhí)行交易,使得全網(wǎng)的交易數(shù)據(jù)被均勻分配床玻,提升了區(qū)塊鏈數(shù)據(jù)的處理效率毁涉,從而減輕節(jié)點的計算和存儲負擔。但也要看到锈死,通過交易驗證優(yōu)化手段只能小幅度提高系統(tǒng)TPS贫堰。

外在因素

影響區(qū)塊鏈系統(tǒng)TPS的外在因素包括區(qū)塊鏈系統(tǒng)部署服務器的資源配置和測試環(huán)境。資源配置如CPU性能馅精、內存和硬盤容量严嗜、網(wǎng)絡帶寬等。測試環(huán)境包括測試依據(jù)洲敢、測試方法漫玄、測試工具等。

資源配置

區(qū)塊鏈系統(tǒng)一般部署在物理服務器或云服務器上,服務器的資源配置直接影響區(qū)塊鏈系統(tǒng)整體性能睦优。對于區(qū)塊鏈系統(tǒng)而言渗常,其所在服務器的硬件性能越高,能夠產(chǎn)生的TPS數(shù)值也就越高汗盘。服務器硬件資源包括CPU皱碘、內存、硬盤等隐孽,其中癌椿,CPU的兩個重要評價指標為頻率和緩存容量,CPU頻率越高菱阵,緩存容量越大踢俄,系統(tǒng)數(shù)據(jù)處理速度也會越快。同樣晴及,內存較大的計算機設備能夠在短時間內緩存大量數(shù)據(jù)都办,在區(qū)塊鏈系統(tǒng)產(chǎn)生較大數(shù)據(jù)處理量的前提下,高內存的服務器具備的優(yōu)勢更加明顯虑稼。

下表展示了同一個區(qū)塊鏈系統(tǒng)部署在不同配置的服務器上時測試出的TPS差異琳钉。

硬件配置對系統(tǒng)TPS的影響

測試環(huán)境

同一個區(qū)塊鏈系統(tǒng)在不同的測試環(huán)境下會產(chǎn)生差異較大的測試結果。測試環(huán)境包括測試設備蛛倦、測試工具歌懒、操作方法等。當前主流的區(qū)塊鏈性能測試工具LoadRunner溯壶、Benchmark歼培、Caliper等。下表展示了在使用不同測試工具的情形下茸塞,同一基于超級賬本技術區(qū)塊鏈系統(tǒng)TPS測試結果。

不同測試工具下的TPS對比

04差異分析

當前查剖,產(chǎn)業(yè)中出現(xiàn)了百萬钾虐、十萬及萬級TPS的區(qū)塊鏈系統(tǒng),本章重點分析這三種級別TPS的實現(xiàn)特點笋庄。

萬級TPS

萬級TPS區(qū)塊鏈系統(tǒng)可以通過優(yōu)化節(jié)點服務器的硬件配置和交易驗證過程來達到效扫,如許多基于超級賬本技術的聯(lián)盟鏈系統(tǒng)。優(yōu)化硬件配置可以通過增加CPU性能和內存容量來實現(xiàn)直砂,其中CPU的增加可以使系統(tǒng)具備更強大的邏輯計算能力菌仁,內存的增加可以使系統(tǒng)具備較大的數(shù)據(jù)處理空間,以在相同的時間內處理大批量數(shù)據(jù)静暂。交易驗證的優(yōu)化可以通過閃電網(wǎng)絡济丘、分片處理等技術實現(xiàn)。

十萬級TPS

面對日益復雜的計算需求,區(qū)塊鏈系統(tǒng)在單位時間內需要處理的數(shù)據(jù)量大幅度提升摹迷,對區(qū)塊鏈系統(tǒng)TPS提出了更高的要求疟赊。運用多鏈并行計算和DAG(有向無環(huán)圖)技術能夠進一步提升系統(tǒng)的TPS。十萬數(shù)量級TPS區(qū)塊鏈系統(tǒng)一般可采用多鏈并行計算的方式處理數(shù)據(jù)峡碉,以DAG的形式傳輸數(shù)據(jù)近哟。

百萬級TPS

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市鲫寄,隨后出現(xiàn)的幾起案子吉执,更是在濱河造成了極大的恐慌,老刑警劉巖地来,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件戳玫,死亡現(xiàn)場離奇詭異,居然都是意外死亡靠抑,警方通過查閱死者的電腦和手機量九,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來颂碧,“玉大人荠列,你說我怎么就攤上這事≡爻牵” “怎么了肌似?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長诉瓦。 經(jīng)常有香客問我川队,道長,這世上最難降的妖魔是什么睬澡? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任固额,我火速辦了婚禮,結果婚禮上煞聪,老公的妹妹穿的比我還像新娘斗躏。我一直安慰自己,他們只是感情好昔脯,可當我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布啄糙。 她就那樣靜靜地躺著,像睡著了一般云稚。 火紅的嫁衣襯著肌膚如雪隧饼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天静陈,我揣著相機與錄音燕雁,去河邊找鬼。 笑死,一個胖子當著我的面吹牛贵白,可吹牛的內容都是我干的率拒。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼禁荒,長吁一口氣:“原來是場噩夢啊……” “哼猬膨!你這毒婦竟也來了?” 一聲冷哼從身側響起呛伴,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤勃痴,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后热康,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沛申,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年姐军,在試婚紗的時候發(fā)現(xiàn)自己被綠了铁材。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡奕锌,死狀恐怖著觉,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情惊暴,我是刑警寧澤饼丘,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站辽话,受9級特大地震影響肄鸽,放射性物質發(fā)生泄漏。R本人自食惡果不足惜油啤,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一典徘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧益咬,春花似錦烂斋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽罕模。三九已至评腺,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間淑掌,已是汗流浹背蒿讥。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人芋绸。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓媒殉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親摔敛。 傳聞我的和親對象是個殘疾皇子廷蓉,可洞房花燭夜當晚...
    茶點故事閱讀 43,728評論 2 351