摘要:吞吐量一般結(jié)合業(yè)務(wù)需求而定服務(wù)器資源占用占用率內(nèi)存使用率命中率篇是一種預(yù)測系統(tǒng)行為和性能的負(fù)載測試工具。負(fù)載測試與壓力測試都是性能測試。通過平臺接口可進(jìn)行合理的性能測試。有利于測試人員及時定位問題。
Part 1:性能測試
性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負(fù)載條件來對系統(tǒng)的各項性能指標(biāo)進(jìn)行測試。
性能測試包括負(fù)載測試、壓力測試、基準(zhǔn)測試等。
i. 負(fù)載測試
通過測試系統(tǒng)在資源超負(fù)荷情況下的表現(xiàn),以發(fā)現(xiàn)設(shè)計上的錯誤或驗證系統(tǒng)的負(fù)載能力。
ii. 壓力測試
也稱為強(qiáng)度測試、負(fù)載測試。壓力測試是模擬實際應(yīng)用的軟硬件環(huán)境及用戶使用過程的系統(tǒng)負(fù)荷,長時間或超大負(fù)荷地運行測試軟件,來測試被測系統(tǒng)的性能、可靠性、穩(wěn)定性等
iii. 基準(zhǔn)測試
Part 2:性能測試目的驗證軟件系統(tǒng)是否能夠達(dá)到用戶提出的性能指標(biāo),同時發(fā)現(xiàn)軟件系統(tǒng)中存在的性能瓶頸,對代碼進(jìn)行優(yōu)化,最后起到優(yōu)化系統(tǒng)的目的
i. 系統(tǒng)調(diào)優(yōu)
ii. 識別系統(tǒng)中的弱點
iii. 評估系統(tǒng)的能力
iv. 驗證系統(tǒng)的穩(wěn)定性、可靠性
Part 3:性能測試流程制定性能測試目標(biāo)à選擇性能測試工具à設(shè)計性能測試à執(zhí)行性能測試腳本à監(jiān)控分析系統(tǒng)à性能調(diào)優(yōu)
A. 目標(biāo)
例如:滿足3000用戶在線、240個用戶同時訪問,訪問響應(yīng)時間不超過2秒,系統(tǒng)資源使用率不超過30%
B. 工具
可選LR、JMeter、Locust等主流測試工具,這篇文章主要介紹LR和JMeter相關(guān)
C. 設(shè)計
測試腳本開發(fā)、負(fù)載生成規(guī)則、場景設(shè)計及監(jiān)控方式、測試環(huán)境的搭建
D. 執(zhí)行
根據(jù)需要進(jìn)行基準(zhǔn)測試、負(fù)載測試、壓力測試等,搜集結(jié)果
E. 監(jiān)控
監(jiān)控各個節(jié)點的運行情況
F. 分析
對數(shù)據(jù)進(jìn)行分析,需要眾多人員共同協(xié)作,罩住數(shù)據(jù)背后的問題,確定性能瓶頸
G. 調(diào)優(yōu)
確定以后,進(jìn)行軟硬件調(diào)優(yōu),然后重復(fù)之前的步驟,找到最合適的優(yōu)化方案
H. 性能指標(biāo)
i. 響應(yīng)時間
針對頁面操作,用戶感官滿意響應(yīng)時間<2s,可以接受響應(yīng)時間2~5s,如果響應(yīng)時間>5s用戶將無法接受。
針對內(nèi)部調(diào)用的接口響應(yīng)時間需要更快,具體與接口種類相關(guān)。
ii. 吞吐量
一般結(jié)合業(yè)務(wù)需求而定
iii. 服務(wù)器資源占用
CPU占用率
內(nèi)存使用率
Cache命中率
Part 4:LR篇HPLoadRunner 是一種預(yù)測系統(tǒng)行為和性能的負(fù)載測試工具。通過以模擬上千萬用戶實施并發(fā)負(fù)載及實時性能監(jiān)測的方式來確認(rèn)和查找問題
A. 輕松創(chuàng)建虛擬用戶
i. 使用LoadRunner 的Virtual User Generator,您能很簡便地創(chuàng)立起系統(tǒng)負(fù)載。該引擎能夠生成虛擬用戶,以虛擬用戶的方式模擬真實用戶的業(yè)務(wù)操作行為。
B. 創(chuàng)建真實負(fù)載
i. Virtual users 建立起后,您需要設(shè)定您的負(fù)載方案,業(yè)務(wù)流程組合和虛擬用戶數(shù)量。用LoadRunner 的Controller,您能很快組織起多用戶的測試方案。
C. 錄制腳本
i. 參數(shù)化
參數(shù)化可以讓腳本更好的適應(yīng)環(huán)境變化,提高腳本適應(yīng)能力
場景運行時,每個用戶使用不同參數(shù),提高真實性
ii. 關(guān)聯(lián)與session
對于腳本,很多時候,我們處理數(shù)據(jù)的時候,是需要對服務(wù)端返回的數(shù)據(jù)進(jìn)行解析,而服務(wù)端返回的數(shù)據(jù)如果每次都是變化的話,每次我們都是需要動態(tài)獲取,這個時候就需要關(guān)聯(lián)。簡單來說,就是處理服務(wù)端返回的動態(tài)數(shù)據(jù)
iii. 創(chuàng)建集合點
集合點就是為了讓Vuser集合,然后同時做某個操作,只要在相應(yīng)的請求前設(shè)定有意義的集合點lr_rendezvous即可
D. 執(zhí)行監(jiān)控
i. 在啟動性能測試之后,系統(tǒng)會按照設(shè)定的場景產(chǎn)生壓力。在執(zhí)行過程中,需要觀察腳本執(zhí)行的情況,被測試系統(tǒng)的性能指標(biāo)情況。LR監(jiān)控來查看這些信息
E. 分析報表
i. 一次性能測試執(zhí)行完成,會創(chuàng)建各種性能分析報表,包括cpu相關(guān)、吞吐率、并發(fā)數(shù)等。
Part 5:JmETER篇A. jmeter簡介
Apache jmeter 是一個100%的純java桌面應(yīng)用,用于壓力測試和性能測量。它最初被設(shè)計用于Web應(yīng)用測試但后來擴(kuò)展到其他測試領(lǐng)域。Apache jmeter 可以用于對靜態(tài)的和動態(tài)的資源(文件,Servlet,Perl腳本,java 對象,數(shù)據(jù)庫和查詢,F(xiàn)TP服務(wù)器等等)的性能進(jìn)行測試。它可以用于對服務(wù)器,網(wǎng)絡(luò)或?qū)ο竽M繁重的負(fù)載來測試它們的強(qiáng)度或分析不同壓力類型下的整體性能。
優(yōu)點:開源,輕量級,免安裝,跨平臺??芍С侄伍_發(fā)和拓展。
缺點:性能整體流程缺失,報告展示不夠友好(逐漸被插件彌補(bǔ))。
B. jmeter進(jìn)行性能測試原理
jmeter腳本運行原理:jmeter核心代碼封裝多種頁面請求類型和多種API請求類型,提供GUI頁面來填充參數(shù),生成可運行的xml腳本文件,jmeter能對腳本文件進(jìn)行解析,并調(diào)用相應(yīng)協(xié)議。這種方式方便腳本的編寫,易上手,對代碼要求較低,只需要掌握相應(yīng)請求協(xié)議相關(guān)參數(shù)即可,且方便調(diào)試。插拔式的取樣器支持無限制擴(kuò)充測試能力,對于不支持的新協(xié)議,可以進(jìn)行二次開發(fā)進(jìn)行擴(kuò)展。
jmeter性能運行原理:Jmeter性能原理與loadRunner類似。采用多線程來模擬多用戶,通過對線程的開啟運行的控制來達(dá)到實際用戶增長的復(fù)雜需求。配置(可擴(kuò)展)多種計時器,定時器。來實現(xiàn)用戶集中某時間刻訪問,即集合點概念,或著采取等待時間定時器模擬用戶操作時間等待。實現(xiàn)更貼近于實際訪問情況的性能測試方式,使性能結(jié)果數(shù)據(jù)更真實。
jmeter數(shù)據(jù)采集原理:jmeter提供對線程的監(jiān)聽,能將運行結(jié)果進(jìn)行處理,如傳遞給GUI進(jìn)行數(shù)據(jù)展示,和曲線生成,記錄生成日志文件可以供非gui方式運行,提供運行完成后的性能數(shù)據(jù)分析??梢詫崟r發(fā)送給時序數(shù)據(jù)庫,提供監(jiān)控使用,可以動態(tài)監(jiān)控查看。
C. jmeter性能測試步驟(前提:選型使用jmeter作為測試工具)
性能需求分析確定:先確定此次性能測試目標(biāo),需求,收集性能需求參數(shù),確定性能測試的測試環(huán)境情況與通過與否的判斷條件。確定測試各種場景。
腳本分析編寫并調(diào)試:根據(jù)前期確定的各種場景進(jìn)行腳本編寫,設(shè)置請求,定時器模擬集合點,等待時間,設(shè)置為單線程運行腳本,測試腳本是否按預(yù)期執(zhí)行,調(diào)試使腳本能夠按預(yù)期執(zhí)行。
搭建好測試環(huán)境:根據(jù)需求搭建符合要求的測試環(huán)境,提前做好能夠監(jiān)控服務(wù)器運行狀況的方式(cpu,內(nèi)存,網(wǎng)絡(luò),DB等),確保測試環(huán)境被測系統(tǒng),運行參數(shù)配置正確,運行無誤。
執(zhí)行性能測試,運行性能腳本:確定發(fā)送請求的用戶數(shù),執(zhí)行測試的壓力機(jī)是否能夠支持發(fā)送這些并發(fā)數(shù)(根據(jù)壓力機(jī)cpu與內(nèi)存確定)如果達(dá)不到可以使用分布式壓力機(jī)進(jìn)行壓測,確定測試機(jī)與測試環(huán)境網(wǎng)絡(luò)互通且網(wǎng)絡(luò)足夠支撐壓力測試運行。確定完成后即可根據(jù)需求確定腳本運行參數(shù),使用NO-GUI方式進(jìn)行性能腳本執(zhí)行。
對性能測試數(shù)據(jù)進(jìn)行分析:運行完成后收集性能測試數(shù)據(jù),對測試數(shù)據(jù)進(jìn)行分析,可以導(dǎo)入到j(luò)meter內(nèi)監(jiān)聽器進(jìn)行數(shù)據(jù)處理,或著采用其他處理方式,根據(jù)數(shù)據(jù)來驗證需求是否滿足,確認(rèn)此次性能測試是否通過。
D. 基于jmeter性能測試平臺
思路:統(tǒng)一管理jmeter的版本,性能需求維護(hù),性能腳本與結(jié)果數(shù)據(jù)的統(tǒng)一管理,增加服務(wù)器的運行情況監(jiān)視,從需求制定到結(jié)果分析在測試平臺一站解決,簡化了性能測試工作,將性能測試變成可視可控可管理狀態(tài)。
Part 6:總結(jié)1、性能測試是什么?
性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負(fù)載條件來對系統(tǒng)的各項性能指標(biāo)進(jìn)行測試。負(fù)載測試與壓力測試都是性能測試。負(fù)載測試主要是通過各種工作負(fù)載下系統(tǒng)的性能。隨著負(fù)載的變化,來確定系統(tǒng)的性能變化。壓力測試主要是確定的系統(tǒng)所能承受的極限?;ヂ?lián)網(wǎng)金融客戶群體相當(dāng)龐大,所以對于我們來說系統(tǒng)的性能尤為重要。
2、性能測試做什么?
性能測試是通過使用各種工具,來模擬各種可控與不可控的請求。通過模擬生產(chǎn)運行的業(yè)務(wù)以及使用場景的組合形成多種性能測試點,測試系統(tǒng)的性能是否能夠滿足生產(chǎn)性能要求。在特定條件下運行驗證系統(tǒng)承受能力。通過各項性能指標(biāo)來判斷系統(tǒng)是否達(dá)到生產(chǎn)需求,及時對系統(tǒng)做出風(fēng)險評估。發(fā)現(xiàn)問題、解決問題,回饋用戶高質(zhì)量的體驗。
3、性能測試做怎么做?
我們系統(tǒng)的性能測試?yán)檬忻嫔蠝y試工具進(jìn)行性能測試。這種測試方法可以捕獲部分問題,但很難模擬業(yè)務(wù)場景組合。而且測試工具五花八門,不利于搜集測試性能結(jié)果。我們現(xiàn)在進(jìn)行的性能測試開發(fā),利用統(tǒng)一的性能測試工具Jmeter做為核心。利用influxDB數(shù)據(jù)庫做數(shù)據(jù)收集,Grafana做性能數(shù)據(jù)展示平臺。搭建完整的性能測試平臺,開放統(tǒng)一的性能測試通道,建立通一的性能指標(biāo)收集平臺。平臺根據(jù)我們自己的業(yè)務(wù)要求建立性能測試計劃,推出不同的業(yè)務(wù)模板。通過平臺接口可進(jìn)行合理的性能測試。我們可根據(jù)不同業(yè)務(wù)展示不同的性能圖形。有利于測試人員及時定位問題。
來源:宜信技術(shù)學(xué)院
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/8896.html
摘要:此篇文章并未如何教你怎么面試的時候吹逼,而是給一點點建議,如何更聰明地達(dá)到目的。據(jù)不完全統(tǒng)計,基本都是做管理后臺改。不要太沉溺和糾結(jié)于技術(shù),把重心移到業(yè)務(wù)能力上,踏踏實實做事。 前言 ??對于很多剛畢業(yè)或者大四的同學(xué),都會有個困惑,我如何學(xué)PHP,為什么知識會那么雜,然后實習(xí)中公司大概需要哪些要求。此篇文章并未如何教你怎么面試的時候吹逼,而是給一點點建議,如何更聰明地達(dá)到目的。 實習(xí)可...
摘要:繼而取名紅色警戒復(fù)興。在經(jīng)過了將近一年的蟄伏后,作為紅色警戒復(fù)興的聯(lián)合創(chuàng)始人,終于有幸在今年月份見證他的第一次公開亮相。至此,我們初步斷定,癥結(jié)點在深層嵌套文檔導(dǎo)致的數(shù)據(jù)多層尋址引發(fā)的。 前言 在2016年5月份的某一天,我和菠蘿同學(xué)懷著對昔日《紅警95》的緬懷之情,相約脫胎于開源項目OpenRA,來自制Server、Web、個人系統(tǒng)等,重現(xiàn)《紅警95》的昔日光芒。繼而取名《紅色警戒:...
摘要:在這個過程中,帶動整體項目和產(chǎn)品前進(jìn)的驅(qū)動力也是不同的。這條主線對整體項目推進(jìn)產(chǎn)生的影響稱之為驅(qū)動力。在互聯(lián)網(wǎng)的項目中,項目的人員配比基本一個蘿卜一個坑,專人負(fù)責(zé)特定的事項和模塊。 本文由作者周巧芬授權(quán)網(wǎng)易云社區(qū)發(fā)布。 互聯(lián)網(wǎng)產(chǎn)品從整體上來講可以劃分很多類型,TO B或者TO C,業(yè)務(wù)型產(chǎn)品(考拉、嚴(yán)選)或者技術(shù)型產(chǎn)品(網(wǎng)易云系列),以及用戶型產(chǎn)品(網(wǎng)易云音樂等)。作為互聯(lián)網(wǎng)產(chǎn)品的項目...
摘要:的大數(shù)據(jù)策略目前,適用的大數(shù)據(jù)生態(tài)系統(tǒng)連接包括和支持和的多維分析數(shù)據(jù)庫可實時連接到數(shù)據(jù)源,或?qū)⑵湔{(diào)入內(nèi)存。面向業(yè)務(wù)用戶的大數(shù)據(jù)自助式可視化。應(yīng)對的是一些需要實施展現(xiàn)結(jié)果,比如銀行交易風(fēng)險的流水分析,直接對接,,等大數(shù)據(jù)平臺。 市面上的BI工具形形色色,功能性能包裝得十分亮麗,但實際應(yīng)用中我們往往更關(guān)注的是樸實的技術(shù)特性和解決方案。對于大數(shù)據(jù),未來的應(yīng)用趨勢不可抵擋,很多企業(yè)也正存在大數(shù)...
摘要:華為的這種底氣正來自于其技術(shù)能力的塑造和強(qiáng)健。而華為云正是遺傳了華為的這種氣質(zhì),才能在成立僅一年多的時間里實現(xiàn)飛躍式的發(fā)展。華為云不僅繼承了華為的氣質(zhì),還將這種氣質(zhì)不斷發(fā)揚光大。三十功名塵與土,一朝入云膽氣生!從1987年2萬元起家,到2017年銷售收入突破6000億元,華為三十年的奮斗與拼搏、積累與沉淀,終于厚積薄發(fā)。2017年,華為云正式入場,它要像AWS那樣開創(chuàng)一個新的產(chǎn)業(yè)。華為云的氣...
閱讀 2938·2023-04-26 02:22
閱讀 2292·2021-11-17 09:33
閱讀 3144·2021-09-22 16:06
閱讀 1078·2021-09-22 15:54
閱讀 3541·2019-08-29 13:44
閱讀 1921·2019-08-29 12:37
閱讀 1327·2019-08-26 14:04
閱讀 1920·2019-08-26 11:57