效能測試,就是模仿使用者對乙個系統進行大批量的操作,得出系統各項效能指標和效能瓶頸,並從中發現存在的問題,對系統進行調優的過程。web端的效能測試應該注意的指標有:使用者操作的響應時間、系統的吞吐量(tps)、系統的硬體資源情況(cpu、硬碟、磁碟)、網路資源占用情況等。
響應時間。這裡的響應時間一定得是前端+後端的響應時間,我們慣性的思維都是只關注後端服務的響應時間,其實前端的響應時間也是須考慮在內的。
併發測試的相應資料。這部分也得考慮前端資料,這只是乙個大概的補充,因為具體的系統需要的資料不一樣,其中也不乏包括響應時間。
前端的響應時間都涉及到的環節:
dns解析
各種請求的連線
tls的建立
位元組流的傳送
後端響應時間涉及的環節:
等待(前端請求)
接收資訊流
返回響應資料
jmeter屬於乙個非常實用的測試工具,在效能測試當中也占有乙個非常重要的位置。通常jmeter在效能測試過程中,涉及到的基本是直接對接的後端服務,針對前端的響應基本不會涉及,所以用jmeter來對乙個web系統進行效能測試時,很難去捕獲到前端的響應資料。但是後端響應資料獲取起來非常的便捷,其中就包括:併發數、平均響應時間、錯誤率、吞吐量等等。
loadrunner功能繁多,用途廣泛,是乙個大型的效能測試工具,但是平常使用也還是其基本的一些功能。lr在使用者介面互動上進行了注重,也就是我們之前提到的前端的響應資料,利用lr能夠彌補jmeter無法涉及到的前端響應時間這部分,通過更接近使用者對介面的互動,得出前端發起請求到請求傳送到後台服務這個過程的響應時間。所以,這前後端兩部分的響應時間之和,就是我們基本能夠判定乙個系統真正響應時間的依據。
結合以上提及到兩個工具的響應時間,它所涉及到的有兩個部分,一是前端,二是後端。
效能測試中,日誌是非常能夠反應出測試工作中問題所在的乙個環節,通過檢視日誌來定位問題是乙個繁雜但是極為可靠的方式。
cpu監控,通常的指標是cpu使用率不能超過80%,這樣給系統預留乙個緩衝的範圍。這裡提及一點,就是其中涉及到多核cpu的情況,嚴謹的人會去關注每核cpu的使用情況,因為很多時候多核cpu的利用並不是均衡的,整體的cpu使用情況不能反映出單核的使用情況,容易造成誤導。
jvm層監控,這主要是去監控執行緒,其中包含單執行緒、多執行緒,同步執行緒、非同步執行緒。關於同步執行緒和非同步執行緒,是乙個系統中比較關注的點,假如:乙個系統處理事務時,採用的是同步執行緒,很多事務會等待處理造成阻塞,那麼這樣的系統處理速度就會受到很大的限制,會被視為乙個不合格的系統。
linux系統的cpu主要有如下幾個維度的統計資料
us & sy:大部分後台服務使用的cpu時間片中us和sy的占用比例是最高的。同時這兩個指標又是互相影響的,us的比例高了,sy的比例就低,反之亦然。通常sy比例過高意味著被測服務在使用者態和系統態之間切換比較頻繁,此時系統整體效能會有一定下降。另外,在使用多核cpu的伺服器上,cpu 0負責cpu各核間的排程,cpu 0上的使用率過高會導致其他cpu核心之間的排程效率變低。因此測試過程中cpu 0需要重點關注。
ni:每個linux程序都有個優先順序,優先順序高的程序有優先執行的權利,這個叫做pri。程序除了優先順序外,還有個優先順序的修正值。這個修正值就叫做程序的nice值。一般來說,被測服務和伺服器整體的ni值不會很高。如果測試過程中ni的值比較高,需要從伺服器linux系統配置、被測服務執行引數查詢原因
id:線上服務執行過程中,需要保留一定的id冗餘來應對突發的流量激增。在效能測試過程中,如果id一直很低,吞吐量上不去,需要檢查被測服務執行緒/程序配置、伺服器系統配置等。
wa:磁碟、網路等io操作會導致cpu的wa指標提高。通常情況下,網路io占用的wa資源不會很高,而頻繁的磁碟讀寫會導致wa激增。如果被測服務不是io密集型的服務,那需要檢查被測服務的日誌量、資料載入頻率等。
hi & si:硬中斷是外設對cpu的中斷,即外圍硬體發給cpu或者記憶體的非同步訊號就是硬中斷訊號;軟中斷由軟體本身發給作業系統核心的中斷訊號。通常是由硬中斷處理程式或程序排程程式對作業系統核心的中斷,也就是我們常說的系統呼叫(system call)。在效能測試過程中,hi會有一定的cpu佔用率,但不會太高。對於io密集型的服務,si的cpu佔用率會高一些。
WEB端功能測試總結
a 鏈結是否按照既定指示那樣,確實鏈結到了該鏈結的介面 b 測試該鏈結所鏈結的頁面是否真的存在 表單一般指在介面進行資料提交操作的,包括新增和修改資料。它涉及到的測試包括以下方面 a 輸入框測試 長度 資料型別 必填 重複 空格 sql注入以及一些業務相關約束 b 下拉框測試 預設值 資料完整性 正...
如何做好Web端效能測試?
這篇文章想跟大家分享關於web效能測試的一些知識點。在分享之前,先跟大家分享一組資料,關於為什麼要做效能測試?具體如下 71 使用者希望在手機上開啟網頁能跟電腦一樣快 5秒鐘被認為是使用者能忍受的最長響應時間,如果響應時間超過5秒,50 的移動使用者會放棄 33 失望的使用者會使用競品替代 使用者嘗...
web端測試方法
1.1.相容性測試 作業系統相容 windows windows7 win8 win10 macubuntu centos linux 瀏覽器相容 ie 8,9,10 chrom firefox safari 蘋果出的 歐朋瀏覽器 其他主流市場 qq瀏覽器 360瀏覽器 搜狗瀏覽器 1.2.安全性測...