日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
分布式技術(shù):從原理到應(yīng)用全面解析分布式技術(shù)的魅力與未來之分布式衡量指標(biāo)

分布式技術(shù)發(fā)展歷程來看,分布式其實(shí)就是用廉價(jià)普通的機(jī)器解決單個(gè)計(jì)算機(jī)處理復(fù)雜、大規(guī)模數(shù)據(jù)和任務(wù)時(shí)存在的性能和資源瓶頸問題。

如何來衡量一個(gè)分布式系統(tǒng)的優(yōu)劣程度呢?

一般分布式系統(tǒng)的表現(xiàn)好壞表現(xiàn)在以前幾個(gè)方面:

  • 性能
  • 資源
  • 可用性
  • 可擴(kuò)展性

性能

其實(shí)對于什么是性能,最常聽說的就是請求的響應(yīng)速度。其實(shí)這只是一方面,不同的系統(tǒng),對于系統(tǒng)的要求不一樣,有的關(guān)注吞吐量,有的關(guān)注相應(yīng)時(shí)間,有的關(guān)注完成時(shí)間,沒錯這三個(gè)指標(biāo)就是最常見的性能指標(biāo)。

吞吐量

吞吐量指的是系統(tǒng)在一定時(shí)間內(nèi)可以處理的任務(wù)數(shù)。

這個(gè)指標(biāo)很直觀的反應(yīng)處一個(gè)系統(tǒng)的性能,就好像在顧客非常多的情況下,看一個(gè)收銀員可以一個(gè)小時(shí)能服務(wù)多少個(gè)顧客。

在互聯(lián)網(wǎng)中吞吐量常常表現(xiàn)為三個(gè)具體的指標(biāo):

  1. QPS
  2. TPS
  3. BPS

QPS,即查詢數(shù)每秒,用于衡量一個(gè)系統(tǒng)每秒處理的查詢數(shù)。這個(gè)指標(biāo)通常用于讀操作,越高說明對讀操作的支持越好。所以,我們在設(shè)計(jì)一個(gè)分布式系統(tǒng)的時(shí)候,如果應(yīng)用主要是讀操作,那么需要重點(diǎn)考慮如何提高QPS,來支持高頻的讀操作。

TPS,即事務(wù)數(shù)每秒,用于衡量一個(gè)系統(tǒng)每秒處理的事務(wù)數(shù)。這個(gè)指標(biāo)通常對應(yīng)于寫操作,越高說明對寫操作的支持越好。我們在設(shè)計(jì)一個(gè)分布式系統(tǒng)的時(shí)候,如果應(yīng)用主要是寫操作,那么需要重點(diǎn)考慮如何提高TPS,來支持高頻寫操作。

BPS,即比特?cái)?shù)每秒,用于衡量一個(gè)系統(tǒng)每秒處理的數(shù)據(jù)量。對于一些網(wǎng)絡(luò)系統(tǒng)、數(shù)據(jù)管理系統(tǒng),我們不能簡單地按照請求數(shù)或事務(wù)數(shù)來衡量其性能。因?yàn)檎埱笈c請求、事務(wù)與事務(wù)之間也存在著很大的差異,比方說,有的事務(wù)大需要寫入更多的數(shù)據(jù)。那么在這種情況下,BPS更能客觀地反應(yīng)系統(tǒng)的吞吐量。

響應(yīng)時(shí)間

響應(yīng)時(shí)間指的是,系統(tǒng)響應(yīng)一個(gè)請求需要花費(fèi)的時(shí)間。響應(yīng)時(shí)間直接影響到用戶體驗(yàn),對于時(shí)延敏感的業(yè)務(wù)非常重要。比如用戶搜索導(dǎo)航,特別是用戶邊開車邊搜索的時(shí)候,如果響應(yīng)時(shí)間很長,就會直接導(dǎo)致用戶走錯路。

完成時(shí)間

指的是,系統(tǒng)真正完成一個(gè)請求或處理需要花費(fèi)的時(shí)間。任務(wù)并行(也叫作任務(wù)分布式)模式出現(xiàn)的其中一個(gè)目的,就是縮短整個(gè)任務(wù)的完成時(shí)間。特別是需要計(jì)算海量數(shù)據(jù)或處理大規(guī)模任務(wù)時(shí),用戶對完成時(shí)間的感受非常明顯。

資源占用

資源占用指的是,一個(gè)系統(tǒng)提供正常能力需要占用的硬件資源,比如CPU、內(nèi)存、硬盤等。

一個(gè)系統(tǒng)在沒有任何負(fù)載時(shí)的資源占用,叫做空載資源占用,體現(xiàn)了這個(gè)系統(tǒng)自身的資源占用情況。比如,你在手機(jī)上安裝一個(gè)App,安裝的時(shí)候通常會提示你有多少KB,這就是該App的空載硬盤資源占用。對于同樣的功能,空載資源占用越少,說明系統(tǒng)設(shè)計(jì)越優(yōu)秀,越容易被用戶接受。

一個(gè)系統(tǒng)滿額負(fù)載時(shí)的資源占用,叫做滿載資源占用,體現(xiàn)了這個(gè)系統(tǒng)全力運(yùn)行時(shí)占用資源的情況,也體現(xiàn)了系統(tǒng)的處理能力。同樣的硬件配置上,運(yùn)行的業(yè)務(wù)越多,資源占用越少,說明這個(gè)系統(tǒng)設(shè)計(jì)得越好。

可用性

可用性,通常指的是系統(tǒng)在面對各種異常時(shí)可以正確提供服務(wù)的能力??捎眯允欠植际较到y(tǒng)的一項(xiàng)重要指標(biāo),衡量了系統(tǒng)的魯棒性,是系統(tǒng)容錯能力的體現(xiàn)。系統(tǒng)的可用性可以用系統(tǒng)停止服務(wù)的時(shí)間與總的時(shí)間之比衡量。

假設(shè)一個(gè)網(wǎng)站總的運(yùn)行時(shí)間是24小時(shí),在24小時(shí)內(nèi),如果網(wǎng)站故障導(dǎo)致不可用的時(shí)間是4個(gè)小時(shí),那么系統(tǒng)的可用性就是4/24=0.167,也就是0.167的比例不可用,或者說0.833的比例可用。

除此之外,系統(tǒng)的可用性還可以用某功能的失敗次數(shù)與總的請求次數(shù)之比來衡量,比如對網(wǎng)站請求1000次,其中有10次請求失敗,那么可用性就是99%。

你可能經(jīng)常在一個(gè)系統(tǒng)的宣傳語中見到或聽到3個(gè)9(或3N,3 Nines)、5個(gè)9(或9N,9 Nines)。這些宣傳語中所說的3個(gè)9、5個(gè)9,實(shí)際上就是系統(tǒng)廠商對可用性的一種標(biāo)榜,表明該系統(tǒng)可以在99.9%或99.999%的時(shí)間里能對外無故障地提供服務(wù)。

講到了可用性,你可能還會想到一個(gè)非常近似的術(shù)語:可靠性(Reliability)。那可靠性和可用性有什么區(qū)別呢? 可靠性通常用來表示一個(gè)系統(tǒng)完全不出故障的概率,更多地用在硬件領(lǐng)域。而可用性則更多的是指在允許部分組件失效的情況下,一個(gè)系統(tǒng)對外仍能正常提供服務(wù)的概率。 杰夫 · 迪恩(Jeff Dean)曾在Google I/O大會上透露:谷歌一個(gè)基于1000臺通用計(jì)算機(jī)的集群,一年之內(nèi)就有1000+硬盤會出現(xiàn)故障。由于現(xiàn)在比較常見的分布式系統(tǒng)基本上都是基于通用計(jì)算機(jī)的,這就意味著在這些系統(tǒng)中無法實(shí)現(xiàn)真正的可靠,所以我們也會在一些場合見到可靠性和可用性交換使用的情況。

可擴(kuò)展性

可擴(kuò)展性,指的是分布式系統(tǒng)通過擴(kuò)展集群機(jī)器規(guī)模提高系統(tǒng)性能(吞吐、響應(yīng)時(shí)間、 完成時(shí)間)、存儲容量、計(jì)算能力的特性,是分布式系統(tǒng)的特有性質(zhì)。

分布式系統(tǒng)的設(shè)計(jì)初衷,就是利用集群多機(jī)的能力處理單機(jī)無法解決的問題。然而,完成某一具體任務(wù)所需要的機(jī)器數(shù)目,即集群規(guī)模,取決于單個(gè)機(jī)器的性能和任務(wù)的要求。

當(dāng)任務(wù)的需求隨著具體業(yè)務(wù)不斷提高時(shí),除了升級系統(tǒng)的性能做垂直/縱向擴(kuò)展外,另一個(gè)做法就是通過增加機(jī)器的方式去水平/橫向擴(kuò)展系統(tǒng)規(guī)模。

這里垂直/縱向擴(kuò)展指的是,增加單機(jī)的硬件能力,比如CPU增強(qiáng)、內(nèi)存增大等;水平/橫向擴(kuò)展指的就是,增加計(jì)算機(jī)數(shù)量。好的分布式系統(tǒng)總在追求“線性擴(kuò)展性”,也就是說系統(tǒng)的某一指標(biāo)可以隨著集群中的機(jī)器數(shù)量呈線性增長。

衡量系統(tǒng)可擴(kuò)展性的常見指標(biāo)是加速比(Speedup),也就是一個(gè)系統(tǒng)進(jìn)行擴(kuò)展后相對擴(kuò)展前的性能提升。

一個(gè)分布式系統(tǒng)是否可以保證每個(gè)指標(biāo)都達(dá)到理性水平?

答案是否定的,無論是高可用,高性能,還是高擴(kuò)展性,都會受到資源占用的限制,說白了就是受到成本的限制。

然而,雖然出于硬件成本、開發(fā)效率等因素的約束,我們無法在性能、可用性、可靠性和資源占用做到面面俱到。所以在不同的業(yè)務(wù)場景中,設(shè)計(jì)者們需要有所取舍。

接下來,我?guī)阋黄鹂匆幌碌湫偷碾娚獭oT、電信、HPC(高性能計(jì)算)、大數(shù)據(jù)、云計(jì)算、區(qū)塊鏈等業(yè)務(wù)或系統(tǒng)對不同指標(biāo)的訴求。

  • 電商系統(tǒng)。對于一個(gè)電商系統(tǒng)而言,系統(tǒng)設(shè)計(jì)者最看重的是吞吐量,為了處理更多的用戶訪問或訂單業(yè)務(wù),甚至不惜犧牲一些硬件成本。
  • IoT。對于一個(gè)IoT系統(tǒng)而言,設(shè)計(jì)者最看重的是資源占用指標(biāo),因?yàn)樵谝恍┕δ軜O簡的IoT設(shè)備上RAM、ROM的可用資源通常都是KB級的。
  • 電信業(yè)務(wù)。對于電信業(yè)務(wù)而言,最重要的無疑是響應(yīng)時(shí)間、完成時(shí)間,以及可用性。因?yàn)?,你在打電話時(shí)不希望你的聲音半天才被對方聽到,也不希望半天才聽到對方的回應(yīng),更不希望你的電話無法撥出。
  • HPC。HPC系統(tǒng)最顯著的特點(diǎn)是任務(wù)執(zhí)行時(shí)間極長,一個(gè)天體物理任務(wù)的分析和計(jì)算通常耗時(shí)數(shù)周甚至數(shù)月。因此,通過水平擴(kuò)展來提高系統(tǒng)的加速比,是HPC系統(tǒng)設(shè)計(jì)者需要關(guān)注的。
  • 大數(shù)據(jù)。大數(shù)據(jù)任務(wù)的處理時(shí)間可能相對HPC系統(tǒng)來講比較短,但常見的完成時(shí)間也達(dá)到了小時(shí)級,所以擴(kuò)展性也是大數(shù)據(jù)系統(tǒng)首先要考慮的。
  • 云計(jì)算。對于一個(gè)云計(jì)算系統(tǒng)而言,常見任務(wù)是虛擬主機(jī)或容器的創(chuàng)建、資源調(diào)整、銷毀等操作,如何減少這些操作的完成時(shí)間,從而提升用戶體驗(yàn)是設(shè)計(jì)者們要重點(diǎn)關(guān)注的。另外,云計(jì)算系統(tǒng)本質(zhì)上賣的是資源,那么降低系統(tǒng)本身的資源開銷,也是系統(tǒng)設(shè)計(jì)的重中之重。
  • 區(qū)塊鏈。區(qū)塊鏈的吞吐量比較低,比特幣的TPS只有7次每秒,單平均一次交易的確認(rèn)就需要10分鐘左右,因此吞吐量和完成時(shí)間通常是區(qū)塊鏈系統(tǒng)設(shè)計(jì)者的首要目標(biāo)。

文章題目:分布式技術(shù):從原理到應(yīng)用全面解析分布式技術(shù)的魅力與未來之分布式衡量指標(biāo)
瀏覽地址:http://www.dlmjj.cn/article/cdohchg.html