偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

性能測試中的指標(biāo)和術(shù)語

開發(fā) 測試
性能測試中會涉及很多性能相關(guān)的指標(biāo)和術(shù)語,本節(jié)重點(diǎn)剖析核心的概念。

性能測試中會涉及很多性能相關(guān)的指標(biāo)和術(shù)語,本節(jié)重點(diǎn)剖析核心的概念。

在線用戶

表示某個時間段內(nèi)在服務(wù)器上保持登錄狀態(tài)的用戶。但在線用戶不一定是對服務(wù)器產(chǎn)生壓力的用戶,只有正在操作的活躍用戶才會對服務(wù)器產(chǎn)生壓力,在線只是一種狀態(tài)。

相對并發(fā)用戶

類似活躍用戶,表示某個時間段內(nèi)與服務(wù)器保持交互的用戶,理論上這些用戶有同一時刻(即絕對并發(fā))進(jìn)行操作的可能(對這種可能性的度量稱為并發(fā)度》。相對并發(fā)的說法主要是為了區(qū)分絕對并發(fā)。

絕對并發(fā)用戶

表示同一時間點(diǎn) (嚴(yán)格地說是足夠短的時間段內(nèi))與服務(wù)器進(jìn)行交互的用戶,一般通過測試工具提供的并發(fā)控制 (如JMeter的集合點(diǎn))實(shí)現(xiàn)。

思考時間

表示用戶每個操作后的暫停時間,或者叫作操作之間的間隔時間,此時間內(nèi)用戶是不對服務(wù)器產(chǎn)生壓力的。如果想了解系統(tǒng)在極端情況下的性能表現(xiàn),可以設(shè)置思考時間為0;而如果要預(yù)估系統(tǒng)能夠承受的最大壓力,就應(yīng)該盡可能地模擬真實(shí)思考時間。

響應(yīng)時間

通常包括網(wǎng)絡(luò)傳輸請求的時間、服務(wù)器處理的時間,以及網(wǎng)絡(luò)傳輸響應(yīng)的時間。而我們重點(diǎn)關(guān)心的應(yīng)該是服務(wù)器處理的時間,這部分受到代碼處理請求的業(yè)務(wù)邏輯的影響,從中可以真正發(fā)現(xiàn)缺陷并對業(yè)務(wù)邏輯進(jìn)行優(yōu)化,而網(wǎng)絡(luò)傳輸請求和響應(yīng)的時間很大程度上取決于網(wǎng)絡(luò)質(zhì)量。

響應(yīng)時間也就是JMeter術(shù)語中的Elapsed time,表示接收完所有響應(yīng)內(nèi)容的時間點(diǎn)減去請求開始發(fā)送的時間點(diǎn)。另外,Latency time表示接收到響應(yīng)的第一個字節(jié)的時間點(diǎn)減去請求開始發(fā)送的時間點(diǎn),Connection time表示建立連接所消耗的時間。

當(dāng)關(guān)注響應(yīng)時間時,不應(yīng)該只關(guān)注平均響應(yīng)時間。通常我們會采用95%的響應(yīng)時間,即所有請求的響應(yīng)時間按照從小到大排列,位于 95% 的響應(yīng)時間。該值更有代表性,而平均響應(yīng)時間未能有效地考慮波動性

TPS

指每秒處理的事務(wù)數(shù),是直接反映系統(tǒng)性能的指標(biāo)。該值越大,系統(tǒng)性能越好。通常如果個事務(wù)包含的請求就1個,那么這個值就是每秒處理請求數(shù)。另外還有個概念叫吞吐量,它除了用于描述網(wǎng)絡(luò)帶寬能力,也指單位時間內(nèi)系統(tǒng)處理的請求數(shù)量,JMeter聚合報告中TPS就是用該術(shù)語顯示的。假如1個用戶在1s內(nèi)完成1筆事務(wù),則TPS明顯就是1; 如果某筆業(yè)務(wù)響應(yīng)時間是1ms,則1個用戶在1s內(nèi)能完成1000筆事務(wù),則TPS就是1000了;如果某筆業(yè)務(wù)響應(yīng)時間是1s,則1個用戶在1s內(nèi)只能完成1筆事務(wù),要想TPS達(dá)到1000,則至少需要1000個用戶。因此在1s內(nèi),1個用戶可以完成1000筆事務(wù),1000個用戶也可以完成1000筆事務(wù),這取決于業(yè)務(wù)響應(yīng)時間。

TPS波動范圍

方差和標(biāo)準(zhǔn)差都是用來描述一組數(shù)據(jù)的波動性的 (表現(xiàn)數(shù)據(jù)集中還是分散),標(biāo)準(zhǔn)差的平方就是方差。方差越大,數(shù)據(jù)的波動越大。

眾所周知,性能測試依賴于特定的硬件、軟件、應(yīng)用服務(wù)和網(wǎng)絡(luò)資源等,所以在性能場景執(zhí)行期間TPS可能表現(xiàn)為穩(wěn)定,或者波動,或者遵循一定的趨勢上升或下降。由此可以根據(jù)離散系數(shù)提出一個TPS波動范圍的概念,并定義為TPS標(biāo)準(zhǔn)差除以TPS平均值。如果這個比值超過了一定的范圍,就認(rèn)為這個性能點(diǎn)的TPS不夠穩(wěn)定,也間接證明被測系統(tǒng)的響應(yīng)波動大,不滿足性能期望。

另外,從上述的術(shù)語中不難發(fā)現(xiàn),TPS、并發(fā)數(shù)與響應(yīng)時間之間是有一定的關(guān)系的。假設(shè)平均響應(yīng)時間為t (單位為毫秒),并發(fā)量為 C,每秒處理請求數(shù)為 g,則g =(1000/t)x c 就是這個關(guān)系。所以想要升高 g ,就只有兩條路: 降低t和升高 C。

對于降低t,只能靠優(yōu)化代碼方式來實(shí)現(xiàn),這取決于軟件工程師的編碼水平或架構(gòu)設(shè)計。

對于升高C,通常 c 與服務(wù)器程序的請求處理模型關(guān)系比較大。如果服務(wù)器程序是“一個線程對應(yīng)一個請求”的模式,那么c 的最大值就受制于服務(wù)器能支撐多少個線程;如果是“一個進(jìn)程對應(yīng)一個請求”的模式那么c 的最大值則受制于最大進(jìn)程數(shù)。另外,在升高c 值的過程中,不得不注意的一點(diǎn)是,隨著線程/進(jìn)程數(shù)增多,上下文切換、線程/進(jìn)程調(diào)度開銷會增大,這會間接地顯著增大t 的值,因而不能讓 g 的值跟著c 的值等比升高。所以一味增大 c 值通常也不會有好結(jié)果,最合適的 c 值應(yīng)該根據(jù)實(shí)測試驗(yàn)得出。

注意

有一種特殊情況: 若業(yè)務(wù)決定了該服務(wù)器提供的服務(wù)具有“數(shù)據(jù)量小、返回時間較長”的特征,即這是一個不忙但很慢的業(yè)務(wù)類型,那么可以采用NIO模式提供服務(wù),例如Nginx就默認(rèn)采用NIO模式。 在這種模式下,c 值不再與線程/進(jìn)程數(shù)相關(guān),而只是與“套接字連接數(shù)”相關(guān)。通?!疤捉幼诌B接數(shù)”可以非常大,在經(jīng)過特殊配置的Linux服務(wù)器上,可以同時支撐百萬級別的套接字連接數(shù),在這種情況下c 值可以達(dá)到100萬。

在如此高的 c 值之下,就算 再大,也可以支撐一個很高的 q ,同時真正的線程/進(jìn)程數(shù)可以只設(shè)置到跟CPU核數(shù)一致,以求最大化CPU利用率。當(dāng)然,這一切的前提是該業(yè)務(wù)具有“數(shù)據(jù)量小、返回時間較長”的特征。

經(jīng)過上述分析,在評定服務(wù)器的性能時,應(yīng)該結(jié)合TPS和并發(fā)用戶數(shù),以TPS為主、以并發(fā)用戶數(shù)為輔來衡量系統(tǒng)的性能。如果必須要用并發(fā)用戶數(shù)來衡量,則需要一個前提一一交易在多長時間內(nèi)完成。因?yàn)樵谙到y(tǒng)負(fù)載不高的情況下,將思考時間(思考時間的值等于交易響應(yīng)時間)加到腳本中,并發(fā)用戶數(shù)基本可以增加一倍,所以用并發(fā)用戶數(shù)來衡量系統(tǒng)的性能沒太大的意義。

提示

  • 高并發(fā)
    并發(fā)強(qiáng)調(diào)多任務(wù)交替執(zhí)行,并發(fā)與并行是有區(qū)別的,并行是多任務(wù)同時執(zhí)行。例如,一個核的CPU處理事務(wù)就是并發(fā);多個核的CPU就會存在事務(wù)的并行處理。這里涉及的知識點(diǎn)包括多線程、事務(wù)和鎖,設(shè)計高并發(fā)通常采用無狀態(tài)、拆分、服務(wù)化、服務(wù)隔離、消息隊列、數(shù)據(jù)處理和緩存等。
  • 高可用
    用系統(tǒng)的無故障運(yùn)行時間來度量,主要作用為保證軟件故障監(jiān)控、數(shù)據(jù)備份和保護(hù)、系統(tǒng)告警、錯誤隔離。業(yè)務(wù)層設(shè)計包括集群、降級、限流、容錯、防重和冪等。數(shù)據(jù)庫設(shè)計包括分庫、分表和分片等。
責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2024-11-05 16:45:02

2010-09-08 11:38:27

2023-09-28 21:55:12

AndroidApp

2011-05-05 14:26:11

噴墨打印機(jī)

2011-05-05 09:25:35

噴墨打印機(jī)指標(biāo)術(shù)語

2021-07-27 06:14:32

服務(wù)器端移動端性能測試

2009-07-16 09:52:00

Scrum流程

2010-06-07 19:57:36

UML和模式應(yīng)用

2011-05-04 13:53:08

jQuery

2023-03-30 19:28:51

2009-12-16 13:02:39

路由器測試

2011-10-10 14:30:22

刷機(jī)刷系統(tǒng)手機(jī)

2009-10-10 11:11:40

服務(wù)器測試

2023-01-10 11:18:29

DevOps

2019-06-19 09:00:00

GitLinux開源

2018-01-09 18:33:24

軟件開發(fā)測試軟件測試

2010-05-21 16:23:52

MySQL MyISA

2011-09-19 13:11:00

Vista性能測試

2010-01-11 14:17:34

千兆交換機(jī)性能

2023-09-13 14:45:14

性能測試開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號