日本在线免费视频,国产精品视频2020,亚洲一区二区色,亚洲精品在线播放

軟件性能測試怎么用 精選:關于軟件性能測試的步驟介紹

大家好,今天趙廷凱為大家準備了一些軟件性能測試怎么用,關于軟件性能測試的步驟介紹的相關話題,想要學習性能測試,性能,服務器,線程,軟件的實用技巧和最新干貨分享嗎?在成功的路上,清晰的思路非常重要,希望我的分享能夠為你們的成功帶來一些幫助和指導。

要解決性能測試這個問題,我們可以分為三大步:

第一步:了解性能測試

第二步:熟悉性能測試流程

第三步:從性能測試原理分析性能測試流程和相關的技術知識
下面我們詳細介紹

一.了解后端性能測試

1.為什么要做性能測試?

1.1 這里提供了2個案例:

示例1:

游戲行業:某游戲上線新功能,目標是全服游戲群體,結果上線后,先后出現了服務器崩潰,游戲功能圖標加載緩慢等問題,導致玩家怨聲載道,為此,游戲運營商不得不發放了許多獎勵。具體損失不表,為趕進度而發布的功能,也因為生產事故導致延期更長的時間

這就是典型的沒有進行性能測試,或者說性能測試不充分導致出現的生產事故。在游戲行業還比較好,畢竟損失的只是虛擬的貨幣和玩家的游戲熱情,但是在傳統行業呢?

示例2:

傳統航空行業:2019年9月5日,波音777X飛機在壓力測試的過程中,艙門炸毀。

如果,波音的777X飛機沒有經過壓力測試就試飛了,那么當遇到同樣的條件時,艙門必然炸毀,整個飛機就會直接暴露到高空低壓低氧的環境,全飛機的人生存將會受到直接威脅。

通過這兩個案例,我們知道,在一些極限的場景下,軟/件和硬件會造成極大的破壞和損失,因此,我們需要進行性能測試,來驗證軟件在高壓力下,高并發下,高負載下的實際工作情況。

2. 什么是性能測試?

性能測試就是模擬一些極端場景,對軟/硬件性能進行測試,判斷其極限性能和在極限性能邊界上的運行狀態。

性能測試主要分為前端性能,網絡性能和后端性能

? 前端性能:是指對前端相關的數據指標進行測試,主要是HTTP請求,JavaScript,多媒體數據,CDN,緩存等進行測試,主要關注響應時間。一般優化方向是,縮小數據包,提高緩存命中率,即時響應。

? 網絡性能:是指數據包在網絡中傳播時的性能,主要關注網絡帶寬,網絡吞吐量,網絡延時,丟包率等指標。

? 后端性能:前端發起請求后,經過的各類中間件和服務器處理的性能。比如:apache、nginx、rabbitmq、storm、zookeeper、dubbo、mysql數據庫等。主要關注TPS(Transaction Per Second 每秒事務請求數),CPU,內存,交換內存,IOPS(IO吞吐量),TCP連接數等指標)

3.性能測試的目標

總之,性能測試的目的,就是為了提前發現軟/硬件的瓶頸,從而可以進行評估和改進的一種測試。

本文重點介紹軟件性能測試中的后端性能測試。

二.熟悉性能測試流程

本章節主要是為了介紹常用的性能測試流程

性能測試流程可以簡單的劃分為4個階段:

? 性能需求分析階段

? 準備階段

? 執行階段

? 報告和總結階段

軟件性能測試怎么用,關于軟件性能測試的步驟介紹

性能需求分析階段

? 熟悉項目相關的資源,如:架構設計,軟/硬件環境配置,線上業務運營數據(交易量、用戶活躍度、請求分布等等)

? 根據運營數據或者指標,確定性能測試要達到的目標,如:支持xx用戶并發,TPS達到多少,響應時間達到多少,還有CPU,網絡,IO的負載情況等等

? 設計性能測試計劃:與功能測試計劃差不多,主要對以下內容進行設計(根據實際情況設計,比如有的公司只看結果,就可以省略許多不必要的文案說明):

– 項目背景

– 項目結構

– 測試功能/范圍

– 軟/硬件資源準備和對比

– 技術術語

– 時間/人力安排

– 度量方式

– 準入準出條件

– 各階段需要接收和交付的文檔

– 壓測工具和監控工具

– 風險項

– 其他

? 設計性能測試場景

主要有以下場景:

– 基準測試:了解系統在靜置時的資源消耗,如cpu,io,網絡帶寬,網絡連接的情況。如果有干擾,務必排除。

– 單次連續請求測試:1次連續請求情況下的tps,響應時間,服務器資源消耗情況,主要用于參考。

– 負載測試:逐漸增加并發請求數,查看tps,響應時間,錯誤率,服務器資源消耗情況,主要用于分析最大性能。

– 壓力測試:在最大性能的臨界點上保持壓力進行測試,查看服務器在高壓力情況的處理情況。

– 穩定性測試:連續xx天內,在一定的并發下進行測試,查看服務器運行情況是否能達到需求設計

準備階段

? 搭建性能測試環境

? 設計性能測試用例

? 準備測試數據

? 編寫測試腳本

執行階段

? 運行性能監控工具

? 按照測試場景,執行測試用例。

? 分析:分析性能瓶頸,針對不同的業務場景,分析的側重點也不一樣,比如計算密集型,IO密集型的業務,還有線程鎖,垃圾回收機制等等

? 調優

結果階段

? 總結測試結果,輸出性能測試報告

三.了解性能測試需要用到的技術

本章節,主要是通過性能測試的原理,了解性能測試需要使用的各方面的知識和技術。

性能測試原理介紹:

性能測試,本質就是模擬客戶端請求,對服務器進行高并發,高流量的壓力測試,從而驗證服務器提供服務的能力,并找出瓶頸點,提出或者進行優化。

問題:

1. 怎么模擬高并發,高流量?

2. 怎么進行性能優化?

1. 怎么模擬高并發:

– 使用多線程技術,模擬高并發。

– 如果并發太高,如10w并發以上,則需要使用負載均衡和分布式處理技術,jmeter工具支持多臺機器作為負載機。

2. 怎么模擬高流量:

– 在每個請求中塞入大量數據即可

3. 怎么進行性能優化

– 這是個大問題,下文《怎么進行性能優化》會有更詳細的講解

那么怎么提升性能呢?我們首先介紹一個衡量性能標準的一個參數:TPS(Transaction Per Second 每秒事務請求數)。

我們再看一下TPS計算公式:

TPS = 總請求數/ 平均響應時間

總請求數:在一段時間內發送的所有請求數量

平均響應時間:所有請求的平均響應時間

通過這個公式,我們可以知道,當分母越小時,TPS越大。所以要提升性能,我們只需要提高平均響應時間就可以了。那么怎么減少平均響應時間呢?

我們先看一個客戶端到服務器的請求流程圖:

軟件性能測試怎么用,關于軟件性能測試的步驟介紹

圖中,客戶端發送請求經過了互聯網到服務器,服務器經過內部處理,從數據庫中讀取了數據,然后把數據返回給客戶端。這過程中,經歷的時間大致可以分為:C1+T1+T2+T3+N2+T4+T5。

所以,要把平均響應時間縮小,我們只需要縮小這8個時間就夠了,其中主要包括:

? 網絡時間(T1+T2+T3+T4+T5),

? 服務器內部處理時間(N1),

? 數據庫處理時間(N2),

? 客戶端處理時間(C1)。

所以我們可以就可以從這三個方向去優化:提高網絡傳輸速率,服務器內部處理速率,數據庫處理速率,客戶端處理速率,其中客戶端處理速度也和服務端優化策略基本相同

性能優化:

網絡傳輸速率的提高:

1,采用光纖,配置路由表,縮短網絡傳輸距離與路由器躍點數量。

2,如果是實時服務,那么需要配置緩存服務器,盡量避免緩存穿透

服務器內部處理速率的提高:

1. 計算密集型:優化思路是提高CPU利用率,采用多線程的思路進行。但是線程數量不能超過cpu核心數。因為線程數量超過cpu核心數后,cpu會分片執行超過部分的線程,會增加cpu讀取線程緩存的壓力,使計算能力下降

2. IO密集型:

– 優化思路是提高存儲的效率,如使用固態硬盤,陣列,分布式等技術。

– 由于IO密集型中,CPU可能會等待IO操作完成。所以我們可以使用超過CPU核心數的線程來訪問IO,從而提高性能(但如果磁盤繁忙,線程數再多也只是在磁盤隊列中排隊,增加CPU線程數來訪問IO的方法,適用于IO讀/寫操作并不繁忙,但是需要長時間尋址的場景)

– 注意:因為磁盤內部只有1個線程處理IO操作,所以要真正實現磁盤的并發,需要使用多個磁盤,也就是磁盤陣列

數據庫處理速率:

? 數據庫直接和IO進行交互,所以提高IO性能,能提高數據庫性能。

? 數據庫有自己的數據結構,所以優化數據存儲和查詢的相關算法,也能提高數據庫性能

? 索引優化

? 緩存優化

? 數據庫連接優化

? 數據庫查詢語句優化

? 分表分庫

? 分布式處理

性能優化方向也可以用一個思維導圖來表示:

硬件優化:加cpu升級,cpu陣列;使用ssd固態硬盤;主板用最先進的,內存用最高的,網絡用專線等等。

操作系統優化:

? windows操作系統,去掉不需要的服務,根據實際業務場景調整線程,虛擬內存,緩存的大小等相關配置項,需要專業人士操作

? Linux操作系統:與windows基本相同

中間件優化:根據不同的業務場景,選擇不同的中間件,調整配置等等,如nginx中啟用的cpu核心數量等等

架構優化:采用分布式存儲架構,分布式服務器架構,負載均衡等

代碼優化:許多問題都是代碼的問題,如果代碼問題能準確定位,可以考慮優化代碼。

數據庫優化:優化索引,配置,數據庫連接,算法等等

算法優化:這個不提了,算法屬于底層的優化,需要非常扎實的計算機基礎知識和優秀的邏輯思維以及靈感

其他:線程,進程,網絡等等

性能監控

我們要分析數據,就必須得到數據,所以需要性能監控工具來采集和展示數據,才能進行分析。

那么我們要怎么進行監控呢?這里我們可以借助已經實現的工具來進行。

Linux:

? 可以使用sysstat工具包中的sar命令來監控CPU,內存,IO,網絡的運行情況,具體用法參考:
http://lovesoo.org/linux-sar-command-detailed.html

? 可以使用ps命令查看線程運行情況

JAVA:可以使用jstack,jprofile,jstat,jmap,jps工具來進行查看,這是java自帶的工具包,用于分析java的堆棧信息

Windows:

? 可以使用widnows自帶的資源監視器監控和采集數據

數據庫監控:

? mysql數據庫有自帶的監控工具,但是收費

? 可以使用免費的工具進行監控,如innotop

? 可以使用綜合能力強大的工具監控,如zabbix(也能監控服務端)

其他:

? 前端性能監控:Yslow,谷歌開發者模式->performance,使用windows.performance 進行定制化開發

? Android監控:

– 網易開源的Emmagee,

– 騰訊開源的GT,

– 科大訊飛的iTest,

– Google的開源Battery

– 自己開發

? IOS監控:

– 自己開發,參考:
http://www.cocoachina.com/articles/19680

? 服務器中間件:nginx,apache,dubbo,redis,kafka等

看到需要學習這么多技術,可能會讓大家感到許多壓力。但是大家不用慌,這里介紹一個開源的性能測試工具,功能強大也好用,不滿意還可以二次開發,它就是jmeter

jmeter可以很好的支持并發操作,并有內置模塊收集TPS,響應時間等關鍵性能指標。服務端性能也可以使用jmeter插件來實現監控,只要掌握jmeter工具的使用和性能測試流程,性能測試就不再遙遠!

總結

想要做好性能測試,的確需要比較扎實的基本功和豐富的應用經驗,但是如果想快速入門進行性能測試,可以重點掌握性能測試流程和jmeter工具就可以初步達到要求了。

上面就是本文所要講解的所有內容,希望能對大家有所幫助!希望這些觀點對大家有所幫助,看完這篇軟件性能測試怎么用 精選:關于軟件性能測試的步驟介紹,希望你繼續深入學習相關知識,可以在巢座耶上找到更多有用的資源哦!

本文發布者:大嫂助理,不代表巢座耶立場,轉載請注明出處:http://www.sdwldmy.com/p/9329.html

版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 jubao226688#126.com 舉報,一經查實,本站將立刻刪除。

(0)
上一篇 2023年7月13日 14:03
下一篇 2023年7月13日 14:25

相關推薦

  • 淘寶刷客是真的嗎?如何判斷其真實性?

    淘寶刷客現象在電商領域并不罕見,但其中不乏虛假交易和欺詐行為。本文將深入探討淘寶刷客的真實性,提供判斷其真實性的方法,幫助消費者和商家識別并規避風險。 一、淘寶刷客的定義與現象 淘寶刷客,顧名思義,是指在淘寶平臺上進行虛假交易的賣家或買家。他們通過刷單、刷信譽等手段,提高商品的銷量和信譽,從而在搜索排名中獲得優勢。 1. 刷單的原理 刷單的原理是通過人為制造…

    2025年1月8日
  • 京東自營店推廣方式有哪些?哪種最有效?

    京東自營店作為電商領域的巨頭,其推廣方式多樣化,涵蓋了活動促銷、站內廣告、社交媒體合作、內容營銷等多種手段。然而,哪種方式最有效?本文將從京東自營店的推廣策略入手,深入分析各種方式的優缺點,并結合實際案例,探討哪種推廣方式在當下的電商環境中最為高效。同時,文章會以直白、偶爾暴躁的語調,吐槽一些推廣中的“坑”,幫助商家避開誤區,提升推廣效果。 京東自營店推廣方…

    2025年4月12日
  • 遇到不滿意的天貓客服,該如何向官方投訴?

    遇到不滿意的天貓客服,消費者往往會感到無助和憤怒。本文將從多個角度詳解如何高效、合理地投訴天貓客服,包括投訴渠道、具體步驟、注意事項以及常見問題的解決辦法。文章不僅提供實用的操作指南,還會對電商平臺的客服現狀進行尖銳批評,幫助消費者在維權時更加從容有力。 天貓客服問題頻發,消費者如何應對? 在電商平臺購物早已成為現代人的日常,但隨之而來的客服問題卻屢見不鮮。…

    2025年3月27日
  • 網絡包工頭是什么?有哪些主要功能?

    網絡包工頭,這個聽起來有些古怪的名字,其實描述的是一種新興的網絡現象。本文將用幽默風趣的語言,揭開網絡包工頭的神秘面紗,探討其主要功能和特點。文章內容涵蓋了網絡包工頭的起源、主要功能以及其對現代社會的影響,旨在讓讀者對這一現象有更深入的了解。 一、網絡包工頭的前世今生 所謂“網絡包工頭”,其實是一個形象的比喻。它起源于網絡兼職市場,指的是那些通過網絡平臺,整…

    2025年2月20日
  • 32開紙尺寸測算方法:自行計算紙張大小的技巧

    32開紙尺寸測算方法:自行計算紙張大小的技巧 為何需要自行計算紙張尺寸? 通過自行計算紙張尺寸,我們可以在沒有實際紙張時快速了解其大小。這在設計和排版工作中非常有用。而對于32開紙來說,掌握其尺寸測算方法可以更有效地進行設計和打印。 使用正方形法測算32開紙尺寸 正方形法是一種簡單但有效的測算紙張尺寸的方法,通過它可以計算出32開紙的準確尺寸。 第一步:取一…

    2023年10月12日
  • DDR2與DDR3內存選擇指南:如何根據需求選擇適合的內存類型

    DDR2與DDR3內存選擇指南:如何根據需求選擇適合的內存類型 隨著計算機技術的不斷發展,內存作為計算機硬件的核心組成部分之一,扮演著至關重要的角色。對于用戶來說,在選擇內存時,了解不同類型的內存以及根據個人需求選擇適合的內存類型是非常重要的。 在當前市場上,DDR2和DDR3內存是最常見的兩種內存類型。本文將以DDR2與DDR3內存選擇指南為重點,為大家詳…

    2023年11月17日