溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何進(jìn)行性能測(cè)試中服務(wù)器關(guān)鍵性能指標(biāo)的淺析

發(fā)布時(shí)間:2021-12-20 15:21:58 來源:億速云 閱讀:171 作者:柒染 欄目:大數(shù)據(jù)

如何進(jìn)行性能測(cè)試中服務(wù)器關(guān)鍵性能指標(biāo)的淺析,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

在對(duì)互聯(lián)網(wǎng)服務(wù)進(jìn)行服務(wù)端性能測(cè)試時(shí),主要關(guān)注兩方面的性能指標(biāo):

業(yè)務(wù)指標(biāo):如吞吐量(QPS、TPS)、響應(yīng)時(shí)間(RT)、并發(fā)數(shù)、業(yè)務(wù)成功率等

資源指標(biāo):如CPU、內(nèi)存、Disk I/O、Network I/O等資源的消耗情況

下面主要介紹一些廣泛適用的、基本的資源指標(biāo)以及這些指標(biāo)在Linux服務(wù)器的獲取方式。

關(guān)于CPU資源,有三個(gè)重要概念是我們需要關(guān)注的:使用率、運(yùn)行隊(duì)列和上下文切換。

CPU使用率(CPU Utilization Percentages):有進(jìn)程處于Running狀態(tài)的時(shí)間/總時(shí)間。

性能測(cè)試指標(biāo)中,CPU使用率通常用us + sy來計(jì)算,其可接受上限通常在70%~80%。另外需要注意的是,在測(cè)試過程中,如果sy的值長(zhǎng)期大于25%,應(yīng)該關(guān)注in(系統(tǒng)中斷)和cs(上下文切換)的數(shù)值,并根據(jù)被測(cè)應(yīng)用的實(shí)現(xiàn)邏輯來分析是否合理。

運(yùn)行隊(duì)列進(jìn)程數(shù)(Processes on run queue):Running狀態(tài) + Waiting狀態(tài)的進(jìn)程數(shù),展示了正在運(yùn)行和等待CPU資源的任務(wù)數(shù),可以看作CPU的工作清單,是判斷CPU資源是否成為瓶頸的重要依據(jù)。vmstat通過r的值來體現(xiàn):

r: 可運(yùn)行進(jìn)程數(shù),包括正在運(yùn)行(Running)和已就緒等待運(yùn)行(Waiting)的。

如果r的值等于系統(tǒng)CPU總核數(shù),則說明CPU已經(jīng)滿負(fù)荷。在負(fù)載測(cè)試中,其可接受上限通常不超過CPU核數(shù)的2倍。

上下文切換(Context Switches):簡(jiǎn)單來說,context指CPU寄存器和程序計(jì)數(shù)器在某時(shí)間點(diǎn)的內(nèi)容,(進(jìn)程)上下文切換即kernel掛起一個(gè)進(jìn)程并將該進(jìn)程此時(shí)的狀態(tài)存儲(chǔ)到內(nèi)存,然后從內(nèi)存中恢復(fù)下一個(gè)要執(zhí)行的進(jìn)程原來的狀態(tài)到寄存器,從其上次暫停的執(zhí)行代碼開始繼續(xù)執(zhí)行至頻繁的上下文切換將導(dǎo)致sy值增長(zhǎng)。vmstat通過cs的值來體現(xiàn):

另外還有一個(gè)指標(biāo)用來作為系統(tǒng)在一段時(shí)間內(nèi)的負(fù)載情況的參考:

平均負(fù)載Load Average:在UNIX系統(tǒng)中,Load是對(duì)系統(tǒng)工作量的度量。Load取值有兩種情況,多數(shù)UNIX系統(tǒng)取運(yùn)行隊(duì)列的值(vmstat輸出的r),而Linux系統(tǒng)取運(yùn)行隊(duì)列的值 + 處于task_uninterruptible狀態(tài)的進(jìn)程數(shù)(vmstat輸出的b),所以會(huì)出現(xiàn)CPU使用率不高但Load值很高的情況。Load Average就是在一段時(shí)間內(nèi)的平均負(fù)載,系統(tǒng)工具top、uptime等提供1分鐘、5分鐘和15分鐘的平均負(fù)載值。

講到的內(nèi)存,包括物理內(nèi)存和虛擬內(nèi)存,性能測(cè)試工具物理內(nèi)存和硬盤上的一塊空間(SWAP)組合起來作為虛擬內(nèi)存(Virtual Memory)為進(jìn)程的運(yùn)行提供一個(gè)連續(xù)的內(nèi)存空間,這樣的好處是進(jìn)程可用的內(nèi)存變大了, 性能測(cè)試工具但需要注意的是,SWAP的讀寫速度遠(yuǎn)低于物理內(nèi)存,并且物理內(nèi)存和swap之間的數(shù)據(jù)交換會(huì)增加系統(tǒng)負(fù)擔(dān)。虛擬內(nèi)存被分成頁(x86系統(tǒng)默認(rèn)頁大小為4k),內(nèi)核讀寫虛擬內(nèi)存以頁為單位,當(dāng)物理內(nèi)存空間不足時(shí),內(nèi)存調(diào)度會(huì)將物理內(nèi)存上不常使用的內(nèi)存頁數(shù)據(jù)存儲(chǔ)到磁盤的SWAP空間,物理內(nèi)存與swap空間之間的數(shù)據(jù)交換過程稱為頁面交換(Paging)。

可用內(nèi)存(free memory):內(nèi)存占用的直觀數(shù)據(jù),vmstat輸出free的值,可用內(nèi)存過小將影響整個(gè)系統(tǒng)的運(yùn)行效率,對(duì)于穩(wěn)定運(yùn)行的系統(tǒng),free可接受的范圍通常應(yīng)該大于物理內(nèi)存的20%,即內(nèi)存占用應(yīng)該小于物理內(nèi)存的80%。在壓力測(cè)試時(shí),系統(tǒng)內(nèi)存資源的情況應(yīng)該用可用內(nèi)存結(jié)合頁面交換情況來判斷,如果可以內(nèi)存很少,但頁面交換也很少,此時(shí)可以認(rèn)為內(nèi)存資源還對(duì)系統(tǒng)性能構(gòu)成嚴(yán)重影響。

頁面交換(Paging):頁面交換包括從SWAP交換到內(nèi)存和從內(nèi)存交換到SWAP,如果系統(tǒng)出現(xiàn)頻繁的頁面交換,需要引起注意。可以從vmstat的si和so獲?。?/p>

si:每秒從SWAP讀取到內(nèi)存的數(shù)據(jù)大小

so:每秒從內(nèi)存寫入到SWAP的數(shù)據(jù)大小

SWAP空間占用:可以從vmstat的swpd來獲取當(dāng)前SWAP空間的使用情況,應(yīng)該和頁面交換結(jié)合來分析,比如當(dāng)swpd不為0,但si,so持續(xù)保持為0時(shí),內(nèi)存資源并沒有成為系統(tǒng)的瓶頸。

磁盤通常是系統(tǒng)中最慢的一環(huán),一是其自身速度慢,即使是SSD,其讀寫速度與內(nèi)存都還存在數(shù)量級(jí)的差距,二是其離CPU最遠(yuǎn)。另外需要說明的是磁盤IO分為隨機(jī)IO和順序IO兩種類型,在性能測(cè)試中應(yīng)該先了解被測(cè)系統(tǒng)是偏向哪種類型。

隨機(jī)IO:隨機(jī)讀寫數(shù)據(jù),讀寫請(qǐng)求多,每次讀寫的數(shù)據(jù)量較小,其IO速度更依賴于磁盤每秒能IO次數(shù)(IOPS)。

順序IO:順序請(qǐng)求大量數(shù)據(jù),讀寫請(qǐng)求個(gè)數(shù)相對(duì)較少,每次讀寫的數(shù)據(jù)量較大,順序IO更重視每次IO的數(shù)據(jù)吞吐量。

對(duì)于磁盤,首要關(guān)注使用率,IOPS和數(shù)據(jù)吞吐量,在Linux服務(wù)區(qū),可以使用iostat來獲取這些數(shù)據(jù)。

(設(shè)備)使用率:統(tǒng)計(jì)過程中處理I/O請(qǐng)求的時(shí)間與統(tǒng)計(jì)時(shí)間的百分比,即iostat輸出中的%util,如果該值大于60%,很可能降低系統(tǒng)的性能表現(xiàn)。

IOPS:每秒處理讀/寫請(qǐng)求的數(shù)量,即iostat輸出中的r/s和w/s,個(gè)人PC的機(jī)械硬盤IOPS一般在100左右,而各種公有云/私有云的普通服務(wù)器,也只在百這個(gè)數(shù)量級(jí)。預(yù)先獲取到所用服務(wù)區(qū)的IOPS能力,然后在性能測(cè)試中監(jiān)控試試的IOPS數(shù)據(jù),來衡量當(dāng)前的磁盤是否能滿足系統(tǒng)的IO需求。

數(shù)據(jù)吞吐量:每秒讀/寫的數(shù)據(jù)大小,即iostat輸出中的rkB/s和wkB/s,通常磁盤的數(shù)據(jù)吞吐量與IO類型有直接關(guān)系,順序IO的吞吐能力明顯優(yōu)與隨機(jī)讀寫,可以預(yù)先測(cè)得磁盤在隨機(jī)IO和順序IO下的吞吐量,以便于測(cè)試時(shí)監(jiān)控到的數(shù)據(jù)進(jìn)行比較衡量。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI