前言
性能測(cè)試基礎(chǔ)
1)性能測(cè)試一般分為:負(fù)載測(cè)試、壓力測(cè)試、基準(zhǔn)測(cè)試、穩(wěn)定性測(cè)試、擴(kuò)展性測(cè)試。
2)常見(jiàn)的性能測(cè)試指標(biāo):響應(yīng)時(shí)間;TPS/QPS;并發(fā)用戶;PV/UV;點(diǎn)擊率;吞吐量;資源開銷
3)性能測(cè)試的場(chǎng)景:
業(yè)務(wù)場(chǎng)景:系統(tǒng)的業(yè)務(wù)處理流程;
測(cè)試場(chǎng)景:對(duì)業(yè)務(wù)場(chǎng)景的真實(shí)模擬;
單場(chǎng)景:只涉及單個(gè)業(yè)務(wù)流程的測(cè)試場(chǎng)景;
混合場(chǎng)景:每個(gè)業(yè)務(wù)流程在混合的業(yè)務(wù)流程中占的比重會(huì)不同,盡可能符合實(shí)際的業(yè)務(wù)需要。
性能測(cè)試目標(biāo)
1)了解系統(tǒng)的各項(xiàng)性能指標(biāo)。
比如,通過(guò)壓測(cè)可以了解系統(tǒng)能承受多大的并發(fā)訪問(wèn)量、系統(tǒng)的平均響應(yīng)時(shí)間是多少、系統(tǒng)的TPS是多少等。
2)發(fā)現(xiàn)系統(tǒng)中存在的性能問(wèn)題。
比如,系統(tǒng)中是否存在負(fù)載均衡不均、內(nèi)存泄漏、連接泄漏、線程安全、死鎖、網(wǎng)絡(luò)架構(gòu)或者應(yīng)用架構(gòu)擴(kuò)展性問(wèn)題,也能發(fā)現(xiàn)系統(tǒng)的性能瓶頸在何處。
① 負(fù)載均衡不均勻
一般指的是在并發(fā)的情況下,每臺(tái)服務(wù)器接收的并發(fā)壓力不均勻,從而導(dǎo)致部分服務(wù)器因?yàn)閴毫^(guò)大而出現(xiàn)性能急劇下降,以及部分服務(wù)器因?yàn)椴l(fā)過(guò)小而出現(xiàn)資源浪費(fèi)的情況。
② 內(nèi)存泄漏
是指應(yīng)用程序代碼在每次執(zhí)行完后,不會(huì)主動(dòng)釋放內(nèi)存資源而導(dǎo)致內(nèi)存使用一直增加,最終會(huì)使服務(wù)器物理內(nèi)存全部耗光,程序運(yùn)行逐漸變慢,最終因?yàn)闊o(wú)法申請(qǐng)到內(nèi)存而退出運(yùn)行。內(nèi)存泄漏多數(shù)情況下是非常緩慢的增加,不容易被發(fā)現(xiàn),一般需要通過(guò)高并發(fā)性能壓測(cè)才能暴露。
③ 連接泄漏
種類非常廣泛,可以是數(shù)據(jù)庫(kù)連接泄漏、HTTP連接泄漏或者其他的TCP/UDP連接泄漏等。除了系統(tǒng)實(shí)際情況需要建立長(zhǎng)連接外,一般短連接都應(yīng)該是用完就需要關(guān)閉和釋放。
④ 線程安全問(wèn)題
在高并發(fā)訪問(wèn)的多線程處理中經(jīng)常會(huì)出現(xiàn),表現(xiàn)為多個(gè)線程先后更改數(shù)據(jù),造成所得到的數(shù)據(jù)全部是臟數(shù)據(jù)。
⑤ 死鎖
出現(xiàn)在多并發(fā)情況下,為保證有限的資源正常使用,從而上鎖,最后因?yàn)橐痪€程(進(jìn)程)無(wú)法及時(shí)釋放資源,導(dǎo)致死鎖。常見(jiàn)的有系統(tǒng)死鎖、數(shù)據(jù)庫(kù)死鎖等。
⑥ 擴(kuò)展性問(wèn)題
一般是指性能指標(biāo)無(wú)法滿足預(yù)期的情況下,通過(guò)橫向或者縱向擴(kuò)展硬件資源后,系統(tǒng)性能指標(biāo)無(wú)法按照一定的線性規(guī)律進(jìn)行快速遞增。
3)解決性能壓測(cè)中存在的問(wèn)題和性能瓶頸。
性能測(cè)試基本流程
1)性能需求分析
① 熟悉業(yè)務(wù)流程,明確此次性能測(cè)試的目標(biāo),找到業(yè)務(wù)需求的性能點(diǎn)。
② 熟悉系統(tǒng)的應(yīng)用架構(gòu)、技術(shù)架構(gòu)、數(shù)據(jù)架構(gòu)、部署架構(gòu)等,找到與其他系統(tǒng)的交互流程,明確系統(tǒng)部署的硬件配置信息、軟件配置信息。
③ 把對(duì)性能測(cè)試有重要影響的關(guān)鍵點(diǎn)列舉出來(lái)。
比如用戶發(fā)起請(qǐng)求的順序、請(qǐng)求之間的相互調(diào)用關(guān)系;業(yè)務(wù)的數(shù)據(jù)流走向;被壓測(cè)系統(tǒng)可能存在的重點(diǎn)資源消耗;應(yīng)用的部署架構(gòu)等。
④ 明確系統(tǒng)上線后可能會(huì)達(dá)到的最大并發(fā)用戶數(shù)、用戶期望的平均響應(yīng)時(shí)間以及峰值時(shí)的業(yè)務(wù)吞吐量,并將這些信息轉(zhuǎn)化為性能需求指標(biāo)。
2)制定性能測(cè)試計(jì)劃
測(cè)試計(jì)劃一般本次測(cè)試的目的,各個(gè)階段的時(shí)間點(diǎn)+對(duì)應(yīng)負(fù)責(zé)人,以及本次性能測(cè)試風(fēng)險(xiǎn)的分析和控制。
3)編寫性能測(cè)試方案
① 設(shè)計(jì)測(cè)試場(chǎng)景。
② 定義具體事務(wù)操作。
③ 針對(duì)每個(gè)場(chǎng)景,明確監(jiān)控對(duì)象和可能的性能瓶頸點(diǎn):監(jiān)控對(duì)象:比如TPS、平均響應(yīng)時(shí)間、擊率、并發(fā)連接數(shù)、CPU、內(nèi)存、IO等??赡艿男阅芷款i點(diǎn):比如數(shù)據(jù)庫(kù)查詢、Web務(wù)器服務(wù)轉(zhuǎn)發(fā)、應(yīng)用服務(wù)器等。
④ 定義測(cè)試策略:明確性能測(cè)試的類型、執(zhí)行順序、加壓方式(壓測(cè)需要)。
⑤ 選取性能測(cè)試工具。
⑥ 明確硬件配置和軟件配置:硬件配置:服務(wù)器的CPU配置、內(nèi)存配置、硬盤存儲(chǔ)配置、集群環(huán)境下還要包括集群節(jié)點(diǎn)的數(shù)量配置等。軟件配置:操作系統(tǒng)、應(yīng)用版本、參數(shù)配置和網(wǎng)絡(luò)配置。
4)編寫性能測(cè)試案例,對(duì)壓測(cè)場(chǎng)景細(xì)化。
① 描述預(yù)置條件:滿足啥條件性能測(cè)試案例才可以執(zhí)行。
②詳細(xì)描述案例執(zhí)行的步驟,包括:測(cè)試腳本的錄制和編寫腳本的調(diào)試;腳本的執(zhí)行過(guò)程(比如如何加壓、每個(gè)加壓的過(guò)程持續(xù)多久等);要觀察和記錄的性能指標(biāo);需要明確性能曲線的走勢(shì);需要監(jiān)控哪些性能指標(biāo)等。
③ 描述性能測(cè)試預(yù)期需要達(dá)到的結(jié)果,比如:TPS需要達(dá)到多少;平比響應(yīng)時(shí)間需要控制到多少以內(nèi);服務(wù)器資源的消耗需要控制在多少以內(nèi)等。
ps:在實(shí)際工作中,你分析完性能需求之后,可以把測(cè)試計(jì)劃、測(cè)試方案和測(cè)試案例合成一個(gè)文檔,這塊并沒(méi)有嚴(yán)格的定義,可以按你們公司的流程來(lái)做。
5)搭建性能測(cè)試環(huán)境
6)構(gòu)造性能測(cè)試數(shù)據(jù)
7)編寫性能測(cè)試腳本
8)執(zhí)行性能測(cè)試場(chǎng)景(案例)
9)分析性能測(cè)試結(jié)果,編寫性能測(cè)試報(bào)告
10)系統(tǒng)性能瓶頸分析與性能調(diào)優(yōu)
① 性能分析調(diào)優(yōu)模型
② 性能分析調(diào)優(yōu)思想:分層分析、科學(xué)論證、問(wèn)題追溯與歸納總結(jié)。
③ 性能調(diào)優(yōu)技術(shù),一般包括:緩存調(diào)優(yōu);同步轉(zhuǎn)異步推送;拆分;任務(wù)分解與并行計(jì)算;索引與分庫(kù)分表
下面是我整理的2022年最全的軟件測(cè)試工程師學(xué)習(xí)知識(shí)架構(gòu)體系圖 |
一、Python編程入門到精通
二、接口自動(dòng)化項(xiàng)目實(shí)戰(zhàn)
三、Web自動(dòng)化項(xiàng)目實(shí)戰(zhàn)
四、App自動(dòng)化項(xiàng)目實(shí)戰(zhàn)
五、一線大廠簡(jiǎn)歷
六、測(cè)試開發(fā)DevOps體系
七、常用自動(dòng)化測(cè)試工具
八、JMeter性能測(cè)試
九、總結(jié)(尾部小驚喜)
帶奮斗一起飛翔,因?yàn)橛辛怂屛覔碛欣碇侵?;我才使過(guò)去的失誤不再重演到今天的影片里;我才能使過(guò)去的成功在人生中繼續(xù)升華;我才能真正收獲金秋豐碩的果實(shí),品味人生的快樂(lè)。
趁著年輕,多出去走走看看。讀萬(wàn)卷書,不如行萬(wàn)里路,行萬(wàn)里路,不如閱人無(wú)數(shù)。愿你邁著青春的腳步,走向成功的人生!文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-789373.html
成長(zhǎng)總是由無(wú)數(shù)個(gè)平凡,艱辛的小步組成,但每一步絢爛的風(fēng)景,都將化為啟明的航燈,照亮那通往星辰大海的征程。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-789373.html
到了這里,關(guān)于性能測(cè)試怎么做?性能測(cè)試重點(diǎn)和各項(xiàng)性能測(cè)試流程(超級(jí)詳細(xì))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!