成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

性能測試中的指標和術語

開發 測試
性能測試中會涉及很多性能相關的指標和術語,本節重點剖析核心的概念。

性能測試中會涉及很多性能相關的指標和術語,本節重點剖析核心的概念。

在線用戶

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

相對并發用戶

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

絕對并發用戶

表示同一時間點 (嚴格地說是足夠短的時間段內)與服務器進行交互的用戶,一般通過測試工具提供的并發控制 (如JMeter的集合點)實現。

思考時間

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

響應時間

通常包括網絡傳輸請求的時間、服務器處理的時間,以及網絡傳輸響應的時間。而我們重點關心的應該是服務器處理的時間,這部分受到代碼處理請求的業務邏輯的影響,從中可以真正發現缺陷并對業務邏輯進行優化,而網絡傳輸請求和響應的時間很大程度上取決于網絡質量。

響應時間也就是JMeter術語中的Elapsed time,表示接收完所有響應內容的時間點減去請求開始發送的時間點。另外,Latency time表示接收到響應的第一個字節的時間點減去請求開始發送的時間點,Connection time表示建立連接所消耗的時間。

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

TPS

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

TPS波動范圍

方差和標準差都是用來描述一組數據的波動性的 (表現數據集中還是分散),標準差的平方就是方差。方差越大,數據的波動越大。

眾所周知,性能測試依賴于特定的硬件、軟件、應用服務和網絡資源等,所以在性能場景執行期間TPS可能表現為穩定,或者波動,或者遵循一定的趨勢上升或下降。由此可以根據離散系數提出一個TPS波動范圍的概念,并定義為TPS標準差除以TPS平均值。如果這個比值超過了一定的范圍,就認為這個性能點的TPS不夠穩定,也間接證明被測系統的響應波動大,不滿足性能期望。

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

對于降低t,只能靠優化代碼方式來實現,這取決于軟件工程師的編碼水平或架構設計。

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

注意

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

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

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

提示

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

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

噴墨打印機

2011-05-05 09:25:35

噴墨打印機指標術語

2021-07-27 06:14:32

服務器端移動端性能測試

2009-07-16 09:52:00

Scrum流程

2010-06-07 19:57:36

UML和模式應用

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

刷機刷系統手機

2009-10-10 11:11:40

服務器測試

2023-01-10 11:18:29

DevOps

2018-01-09 18:33:24

軟件開發測試軟件測試

2019-06-19 09:00:00

GitLinux開源

2010-05-21 16:23:52

MySQL MyISA

2023-09-13 14:45:14

性能測試開發

2023-11-20 09:48:13

Linux性能指標命令

2011-09-19 13:11:00

Vista性能測試
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线黄色网 | 久久精品欧美一区二区三区不卡 | 免费看av大片 | 毛片的网址| 人人精品 | 欧美福利视频一区 | 国产精品a级 | 国产精品亚洲精品久久 | 亚洲在线一区二区 | 久久1区 | 欧美激情在线播放 | www.天天干.com | 日韩中文一区二区三区 | 亚洲日本欧美 | 在线观看成年人视频 | 欧美在线天堂 | www.狠狠干 | 日韩午夜在线播放 | 99re在线视频| 在线观看成人精品 | 久久综合一区 | 美女黄网| 久久精品免费观看 | 精品欧美一区免费观看α√ | 怡红院成人在线视频 | 欧美一区二区三区在线观看视频 | 精品国产一级片 | 亚洲五码久久 | 成人区一区二区三区 | 成人在线精品视频 | 国产成人亚洲精品自产在线 | 伊人网在线综合 | 国产精品永久 | 成人免费观看男女羞羞视频 | 免费在线观看av的网站 | 国产网站在线 | 久久国产精品偷 | 中文字幕一区二区三区四区不卡 | 一区二区三区回区在观看免费视频 | 久久精品国产亚洲夜色av网站 | 国产成人综合一区二区三区 |