【性能测试】性能需求挖掘、性能方案制定及压测场景设计之疑惑与思考(一)
壓力測(cè)試
模擬用戶在同一時(shí)間對(duì)服務(wù)器發(fā)送大量請(qǐng)求,以此查看服務(wù)器性能指標(biāo),尤其關(guān)注大業(yè)務(wù)量情況下運(yùn)行系統(tǒng)性能的變化(反應(yīng)變慢、是否會(huì)內(nèi)存泄漏導(dǎo)致系統(tǒng)逐漸崩潰、是否能恢復(fù)),測(cè)試系統(tǒng)的限制和故障恢復(fù)能力,找系統(tǒng)瓶頸
1、需加集合點(diǎn),模擬用戶瞬間并發(fā),對(duì)服務(wù)器沖擊力大
2、只執(zhí)行一次,不需設(shè)置持續(xù)運(yùn)行時(shí)間
3、每3秒進(jìn)5個(gè)人,用戶達(dá)到30 50 80集合后分別壓測(cè),然后利用二分法不斷取中間值,找出最大吞吐量
尖峰測(cè)試(Spike testing)Ultimate Thread Group(終極線程組)
在性能測(cè)試中屬于壓力測(cè)試的一個(gè)子集。指的是在某一瞬間或者多個(gè)頻次下用戶數(shù)和壓力陡然增加的場(chǎng)景。
場(chǎng)景1:
網(wǎng)站平穩(wěn)運(yùn)行時(shí),突然有一波1000用戶同時(shí)訪問(wèn)(第1浪潮),訪問(wèn)了30s之后,第一浪潮在15s內(nèi)逐漸退出系統(tǒng)同時(shí);
第二波2000用戶在極短時(shí)間內(nèi)又突然涌入網(wǎng)站(第2浪潮)。訪問(wèn)30s之后,第二浪潮在15s內(nèi)也逐漸退出了系統(tǒng)。
并發(fā)用戶數(shù)
實(shí)際就是在線用戶數(shù),相對(duì)并發(fā)用戶數(shù),在一個(gè)時(shí)間段內(nèi),與服務(wù)器進(jìn)行了交互、對(duì)服務(wù)器產(chǎn)生了壓力的用戶的數(shù)量。這個(gè)時(shí)間段,可以是一天,也可以是一個(gè)小時(shí)
1、并發(fā)用戶數(shù)標(biāo)準(zhǔn)不能以注冊(cè)用戶數(shù)為標(biāo)準(zhǔn),應(yīng)以在線用戶數(shù)為標(biāo)準(zhǔn)或同時(shí)發(fā)請(qǐng)求用戶更準(zhǔn),或注冊(cè)用戶數(shù)20%
2、并發(fā)用戶數(shù)= 系統(tǒng)總用戶數(shù)20%—30%
3、并發(fā)越大,響應(yīng)時(shí)間越長(zhǎng),也跟吞吐量和服務(wù)器處理能力有關(guān)
4、每隔5分鐘增加一定的并發(fā)數(shù),直到達(dá)到瓶頸數(shù),即線程數(shù)增加了以后tps處理量不在增加了,這個(gè)線程數(shù)可以算成合理的并發(fā)數(shù)。
負(fù)載測(cè)試
測(cè)試在一定負(fù)載情況下系統(tǒng)性能,逐步增加用戶數(shù)量或用戶請(qǐng)求來(lái)對(duì)系統(tǒng)進(jìn)行加壓,直到系統(tǒng)響應(yīng)超時(shí)或關(guān)鍵資源耗盡,得到不同負(fù)載下系統(tǒng)性能指標(biāo),不關(guān)注穩(wěn)定性。(關(guān)注最大安全臨界負(fù)載量、吞吐量)
1、不加集合點(diǎn),逐漸增加用戶到系統(tǒng)瓶頸。對(duì)服務(wù)器沖擊力小
2、需設(shè)置持續(xù)運(yùn)行時(shí)間
3、逐漸增加用戶,持續(xù)運(yùn)行,直至達(dá)到系統(tǒng)瓶頸
穩(wěn)定性測(cè)試
網(wǎng)站承受的最大負(fù)載值下,持續(xù)長(zhǎng)時(shí)間運(yùn)行,以此查看服務(wù)器的穩(wěn)定性
1、不加集合點(diǎn),逐漸增加用戶到最大負(fù)載量(負(fù)載測(cè)試最大點(diǎn))
2、達(dá)到最大負(fù)載需設(shè)置持續(xù)運(yùn)行時(shí)間
3、逐漸增加用戶到最大負(fù)載量,然后再持續(xù)運(yùn)行一段時(shí)間(穩(wěn)定性測(cè)試時(shí)長(zhǎng)),然后逐漸退出
故障轉(zhuǎn)移測(cè)試
恢復(fù)測(cè)試,是要把服務(wù)器壓崩潰,測(cè)試另一臺(tái)服務(wù)器是否可正常頂上
系統(tǒng)用戶數(shù)(注冊(cè)用戶數(shù))
在線用戶數(shù)(相對(duì)并發(fā)用戶數(shù))
絕對(duì)并發(fā)用戶
主要是針對(duì)某一個(gè)操作進(jìn)行測(cè)試,即多個(gè)用戶同一時(shí)刻發(fā)起相同請(qǐng)求,驗(yàn)證是否存在并發(fā)邏輯上的處理問(wèn)題,如線程不安全、 死鎖等問(wèn)題;也可提供一些性能上的參考
日常壓力(日常數(shù)據(jù)分析)
測(cè)試場(chǎng)景,就是要用500個(gè)用戶在4小時(shí)內(nèi)完成“每人發(fā)一個(gè)帖子、瀏覽十個(gè)帖子”的工作量。
高峰期壓力(日常數(shù)據(jù)分析)
是指系統(tǒng)正常的、預(yù)期內(nèi)壓力的一個(gè)高峰
峰值壓力,不在正常預(yù)期內(nèi)的壓力
?
性能指標(biāo):
1、吞吐量
服務(wù)端返給客戶端的數(shù)據(jù)量,是指對(duì)網(wǎng)絡(luò)單位時(shí)間內(nèi)成功地傳送數(shù)據(jù)的數(shù)量,是單位時(shí)間服務(wù)器處理事務(wù)的總數(shù)
Tps 是服務(wù)器每秒處理的事務(wù)字節(jié)數(shù)
隨用戶數(shù)逐漸增多,吞吐量應(yīng)該是遞增,如果吞吐量下降,服務(wù)器處理事務(wù)能力下降,響應(yīng)時(shí)間變長(zhǎng),達(dá)到系統(tǒng)瓶頸
2、請(qǐng)求響應(yīng)時(shí)間
從客戶端發(fā)起的一個(gè)請(qǐng)求開(kāi)始到客戶端接收到服務(wù)器返回結(jié)束所耗費(fèi)的時(shí)間=網(wǎng)絡(luò)響應(yīng)時(shí)間+應(yīng)用層響應(yīng)時(shí)間
3、事務(wù)響應(yīng)時(shí)間
用戶的一個(gè)操作的響應(yīng)時(shí)間,是由一系列請(qǐng)求的響應(yīng)時(shí)間組成
4、CPU
中心處理單元,由控制單元和運(yùn)算單元組成,對(duì)數(shù)據(jù)進(jìn)行處理,并發(fā)出控制命令,協(xié)調(diào)周邊設(shè)備運(yùn)行,對(duì)數(shù)據(jù)判斷極邏輯處理,不能存儲(chǔ)數(shù)據(jù),從內(nèi)存中讀取數(shù)據(jù)進(jìn)行邏輯計(jì)算,如果內(nèi)存中沒(méi)數(shù)據(jù),才會(huì)從硬盤(pán)中讀數(shù)據(jù)到內(nèi)存,再進(jìn)行邏輯計(jì)算,不能高于75%
5、錯(cuò)誤率
6、內(nèi)存
liunx內(nèi)存工作原理,內(nèi)存8g ?優(yōu)先分出7g ?一部分分給應(yīng)用,一部分分給緩存內(nèi)存,放應(yīng)用內(nèi)存不足時(shí),會(huì)把緩存內(nèi)存優(yōu)先分給應(yīng)用
?
性能問(wèn)題及其BUG
1、大數(shù)據(jù)量下,產(chǎn)生的性能問(wèn)題
2、大訪問(wèn)用戶量下,產(chǎn)生的性能問(wèn)題
3、預(yù)估未來(lái)數(shù)據(jù)量,產(chǎn)生的性能問(wèn)題
4、大結(jié)果集下,產(chǎn)生的性能問(wèn)題
5、大復(fù)雜邏輯下,產(chǎn)生的性能問(wèn)題
6、數(shù)據(jù)庫(kù)產(chǎn)生的性能問(wèn)題(未分庫(kù)、未分表、未主從分離、數(shù)據(jù)庫(kù)結(jié)構(gòu)、SQL慢查詢、實(shí)時(shí)查詢、索引優(yōu)化(建立主鍵或唯一索引、未使用聯(lián)合索引)
7、性能缺陷:(并發(fā)錯(cuò)誤、死鎖、內(nèi)存泄露)
8、cpu處于70%-100%之間波動(dòng)
?
需求產(chǎn)生
分析用戶是如何使用系統(tǒng),用戶對(duì)哪些業(yè)務(wù)性能比較敏感,系統(tǒng)的一些關(guān)鍵業(yè)務(wù)實(shí)現(xiàn)邏輯,從設(shè)計(jì)實(shí)現(xiàn)的角度來(lái)看哪些業(yè)務(wù)的性能可能存在隱患
通過(guò)友盟、阿里云、埋點(diǎn)、數(shù)據(jù)庫(kù)、產(chǎn)品、運(yùn)維等收集信息,分析系統(tǒng)、分析業(yè)務(wù)、分析用戶行為等
注冊(cè)用戶數(shù)、在線用戶數(shù)、日常壓力、峰值壓力、高峰期壓力
1、產(chǎn)品、研發(fā)有明確需求
2、無(wú)明確需求,初次上線系統(tǒng),需用同行系統(tǒng)數(shù)據(jù),進(jìn)行用戶行為分析和商業(yè)數(shù)據(jù)結(jié)構(gòu)的估算,利用性能估算推算,幫助決策,形成性能需求
3、無(wú)明確需求,已上線系統(tǒng),通過(guò)運(yùn)維獲取tps和時(shí)間比例分布圖、用戶數(shù)和時(shí)間的分布圖、數(shù)據(jù)庫(kù)ER關(guān)系圖、容量數(shù)據(jù),得出性能需求
4、無(wú)明確需求,系統(tǒng)關(guān)鍵模塊、性能隱患模塊、用戶敏感性能模塊,確定性能需求
5、無(wú)明確需求,根據(jù)用戶的使用行為,使用習(xí)慣,確定性能需求
6、無(wú)明確需求,參考系統(tǒng)歷史3個(gè)月/6個(gè)月/1年數(shù)據(jù)、用戶歷史行為,預(yù)測(cè)未來(lái)數(shù)據(jù),確定性能需求
7、無(wú)明確需求,進(jìn)行峰值測(cè)試或穩(wěn)定性測(cè)試,測(cè)出系統(tǒng)的性能瓶頸,評(píng)估是否達(dá)到預(yù)期。
?
需求分析
1、系統(tǒng)類型、特點(diǎn)、架構(gòu)和設(shè)計(jì)
2、深入理解被測(cè)系統(tǒng),確定系統(tǒng)的關(guān)鍵業(yè)務(wù)模塊,從設(shè)計(jì)實(shí)現(xiàn)邏輯確認(rèn)性能隱患的模塊、用戶敏感的性能模塊、用戶使用行為,整理測(cè)試思路、制定測(cè)試方案、產(chǎn)生測(cè)試場(chǎng)景
3、 如果沒(méi)有明確的性能需求,則根據(jù)歷史數(shù)據(jù)或類似系統(tǒng),由項(xiàng)目組評(píng)估出性能指標(biāo);
4、進(jìn)行峰值測(cè)試或穩(wěn)定性測(cè)試,測(cè)出系統(tǒng)的性能瓶頸,評(píng)估是否達(dá)到預(yù)期。
?
測(cè)試準(zhǔn)備
1、控制機(jī)、壓測(cè)機(jī)、壓測(cè)環(huán)境
2、測(cè)試數(shù)據(jù)、業(yè)務(wù)數(shù)據(jù) 、測(cè)試性能模擬的壓力數(shù)據(jù)、
3、數(shù)據(jù)來(lái)自生產(chǎn)環(huán)境、最大可能模擬生產(chǎn)數(shù)據(jù)
4、根據(jù)經(jīng)驗(yàn)預(yù)估的數(shù)據(jù)、根據(jù)歷史數(shù)據(jù)預(yù)估的未來(lái)數(shù)據(jù)
?
環(huán)境準(zhǔn)備
1、操作系統(tǒng)、服務(wù)器配置分析,需了解系統(tǒng)的架構(gòu)和設(shè)計(jì)
2、了解cpu信息
3、用戶量(PV、PU、業(yè)務(wù)量)
4、服務(wù)器重啟重置環(huán)境,干凈的系統(tǒng)環(huán)境,無(wú)運(yùn)行程序和腳本
5、負(fù)載機(jī)環(huán)境
6、測(cè)試環(huán)境要盡量的模擬生產(chǎn)環(huán)境
?
壓測(cè)場(chǎng)景模擬(模擬所有可能發(fā)生的極端的訪問(wèn)情況)
基準(zhǔn)測(cè)試、日常壓力測(cè)試、峰值壓力測(cè)試、絕對(duì)并發(fā)測(cè)試、穩(wěn)定性測(cè)試
壓測(cè)策略?
? ? ? ?1、基準(zhǔn)測(cè)試,一個(gè)用戶循環(huán)壓5分鐘 獲取系統(tǒng)在沒(méi)有壓力的情況下響應(yīng)時(shí)間,為下一步測(cè)試性能拐點(diǎn)做比對(duì)
? ? ? ?2、負(fù)載測(cè)試,單個(gè)交易多個(gè)用戶并發(fā)10,測(cè)試驗(yàn)證系統(tǒng)并發(fā)情況下是否有并發(fā)性的錯(cuò)誤 應(yīng)用鎖 數(shù)據(jù)庫(kù)鎖
? ? ? ?3、容量測(cè)試,多個(gè)交易按一定比例去配比 再按一定的體度 一定的梯度10 20 30逐步去施壓,到獲得這個(gè)系統(tǒng)的性能拐點(diǎn),資源站用達(dá)到很高?
? ? ? ?4、穩(wěn)定性測(cè)試 ?一定壓力下長(zhǎng)時(shí)間運(yùn)行穩(wěn)定的能力,是不是存在內(nèi)存泄露、數(shù)據(jù)庫(kù)查詢慢
?
1、疲勞壓測(cè)(穩(wěn)定性壓測(cè)),持續(xù)壓測(cè)5小時(shí),測(cè)試性能指標(biāo)
2、并發(fā)壓測(cè),單接口瞬間啟動(dòng)100線程并發(fā),測(cè)試性能指標(biāo)
3、日常壓測(cè),根據(jù)每日數(shù)據(jù)分析,如:500個(gè)用戶在4小時(shí)內(nèi)完成“每人發(fā)一個(gè)帖子、瀏覽十個(gè)帖子”的工作量,測(cè)試性能指標(biāo)
4、業(yè)務(wù)壓測(cè),多接口業(yè)務(wù)流程壓測(cè),測(cè)試性能指標(biāo)
5、峰值壓測(cè)(極限壓測(cè)),測(cè)試最大并發(fā)量,測(cè)試性能指標(biāo)
6、階梯壓測(cè),逐漸改變線程數(shù)進(jìn)行壓測(cè),性能指標(biāo)
7、大數(shù)據(jù)壓測(cè),數(shù)據(jù)量過(guò)大進(jìn)行壓測(cè),性能指標(biāo)
8、負(fù)載測(cè)試,分別壓測(cè)50、100、150時(shí),性能指標(biāo)
9、數(shù)據(jù)庫(kù)讀寫(xiě)壓測(cè)
案例:
1、比如購(gòu)物:30個(gè)用戶模擬登陸,10個(gè)用戶瀏覽商品,30用戶商品下單,20個(gè)查訂單,10個(gè)做退出登錄
2、25線程,5s后啟動(dòng)5個(gè)線程,再每隔5s啟動(dòng)5個(gè)線程運(yùn)行10s,達(dá)到10線程運(yùn)行20s,每隔3s停5個(gè)線程
3、2000用戶在線登錄狀態(tài),這2000用戶中要達(dá)到100用戶并發(fā)去訪問(wèn)首頁(yè),總的線程設(shè)置2000并發(fā),其中95%的用戶是登錄狀態(tài),5%用戶訪問(wèn)首頁(yè)狀態(tài),采用固定定時(shí)器和吞吐量控制器
4、1w用戶在線,模擬1w用戶登錄后操作一些系統(tǒng)中各個(gè)頁(yè)面
5、【日常壓力】活躍用戶500人,每人每天發(fā)1帖子、瀏覽10帖子,平均每天產(chǎn)生500新帖子、瀏覽帖子5000次。用戶使用論壇時(shí)間段集中在中午11點(diǎn)到1點(diǎn)和晚上18點(diǎn)到20點(diǎn)。每天的這些業(yè)務(wù),實(shí)際分布在4個(gè)小時(shí)中完成的。那我們測(cè)試場(chǎng)景,就是要用500個(gè)用戶在4小時(shí)內(nèi)完成“每人發(fā)一個(gè)帖子、瀏覽十個(gè)帖子”的工作量,注意“平均每天……”、“分布在4個(gè)小時(shí)……”。這個(gè)場(chǎng)景測(cè)的是平均壓力,也就是一個(gè)系統(tǒng)最平常一天的使用壓力
6、【高峰期壓力】比如“平均每天總的發(fā)帖量……”,那么就要查過(guò)去最高一 日的業(yè)務(wù)量。“分布在4個(gè)小時(shí)”也需要進(jìn)行相應(yīng)的修改,或查下歷史分布圖是否有更集中的分布,或用更簡(jiǎn)單通用80-20原則,80%工作在 20%時(shí)間內(nèi)完成。根據(jù)這些數(shù)據(jù)可以再做適當(dāng)?shù)恼{(diào)整。
7、按照時(shí)間,使用遞增的線程并發(fā)數(shù)來(lái)測(cè)試,比如每5分鐘加5或10個(gè)線程,一直測(cè)試1小時(shí),查看系統(tǒng)性能是如何波動(dòng)的,這樣就能基本找到產(chǎn)品的最大極限值即峰值、性能拐點(diǎn)
8、比如:一個(gè)系統(tǒng)日均1萬(wàn)人訪問(wèn),一天平均3次/人,一般集中在每天晚上8點(diǎn)-10點(diǎn),則我們可以算出每天1萬(wàn)人*3次/人=3萬(wàn)次請(qǐng)求,1天3萬(wàn)次請(qǐng)求集中在8點(diǎn)到10點(diǎn)3個(gè)小時(shí)之內(nèi),3萬(wàn)次請(qǐng)求集中在3小時(shí)之內(nèi),則平均每小時(shí)訪問(wèn)1萬(wàn)次請(qǐng)求,則每秒就是10000次/3600s大約為3次/s,即根據(jù)以往運(yùn)營(yíng)日志得出每秒鐘3次請(qǐng)求,按照我們的并發(fā)峰值4倍的策略,則我們的性能指標(biāo)可以定在4*3=12次/s,即我們的每秒處理事務(wù)數(shù)可以按照12次/s的基礎(chǔ)來(lái)參考。
?
結(jié)果分析(硬件配置-操作系統(tǒng)-數(shù)據(jù)庫(kù)-中間件-后端應(yīng)用-前端應(yīng)用)
1、服務(wù)器性能(哪些資源cpu占用過(guò)大、內(nèi)存占用、硬盤(pán)占用、I/O讀寫(xiě))
2、Tps每秒處理事務(wù)個(gè)數(shù) 每個(gè)事務(wù)處理的平均時(shí)長(zhǎng)
3、TPS(每秒處理請(qǐng)求數(shù))、響應(yīng)時(shí)間(服務(wù)器響應(yīng)時(shí)間+網(wǎng)絡(luò)時(shí)間)、錯(cuò)誤率、QPS(每秒從服務(wù)器接收的數(shù)據(jù)量)
4、數(shù)據(jù)庫(kù)(或中間件)非常慢了
5、中間件無(wú)響應(yīng)
JVM堆內(nèi)存用滿,不停的進(jìn)行GC,導(dǎo)致響應(yīng)超慢(但是還沒(méi)有OOM,否則就報(bào)錯(cuò)了)處理HTTP請(qǐng)求的線程,都被占用或者鎖住
6、系統(tǒng)響應(yīng)慢、超時(shí)、失敗
7、服務(wù)器掛掉
8、網(wǎng)絡(luò)(防火墻是否開(kāi)啟、端口的訪問(wèn)、寬帶是否有被限制、路由尋址、網(wǎng)絡(luò)的時(shí)延)
9、代碼性能
10、定位分析問(wèn)題:
? ? ? ? 10-1、網(wǎng)絡(luò)忙不忙 網(wǎng)絡(luò)延遲大不大 網(wǎng)卡流量 是不是達(dá)到網(wǎng)卡瓶頸
? ? ? ? 10-2、操作系統(tǒng) 應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器資源cpu、內(nèi)存占用、io讀寫(xiě)
? ? ? ? 10-3、數(shù)據(jù)庫(kù)鎖 運(yùn)行等待等?
? ? ? ? 10-4、應(yīng)用系統(tǒng)日志死鎖 wait?
? ? ? ? 10-5、前端連接數(shù)是否正常?
? ? ? ? 10-6、與運(yùn)維確認(rèn)是否開(kāi)了流量控制
? ? ? ? 10-7、再嘗試重啟應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器
?
性能調(diào)優(yōu)
1、擴(kuò)充服務(wù)器(網(wǎng)路、cpu、內(nèi)存、硬盤(pán)、顯卡、I/o)
2、代碼調(diào)優(yōu)
3、中間件
4、分庫(kù)、分表、主從分離、數(shù)據(jù)庫(kù)結(jié)構(gòu)優(yōu)化、SQL優(yōu)化、索引優(yōu)化(建立主鍵或唯一索引、使用聯(lián)合索引)
? ? ?4.1、SQL優(yōu)化
? ? ? ? ? ? ?大表 左關(guān)聯(lián) 小表,很慢;小表 左關(guān)聯(lián) 大表,很快
? ? ? ? ? ? ? 嵌套的子查詢是很慢
5、多個(gè)服務(wù)器負(fù)載均衡、使用緩存服務(wù)器
6、設(shè)置虛擬內(nèi)存
7、運(yùn)維設(shè)置限流
8、添加緩存、圖片資源壓縮
?
測(cè)試報(bào)告
性能測(cè)試比對(duì) 1 每次版本性能測(cè)試比對(duì) 2 機(jī)器橫向增加 ,增加前后性能測(cè)試的比對(duì) 3 性能優(yōu)化 優(yōu)化前后的性能測(cè)試比對(duì)
?
如何確定系統(tǒng)性能測(cè)試tps需求標(biāo)準(zhǔn)?
已上線項(xiàng)目
查看過(guò)去1周(或1月)內(nèi),接口調(diào)用量最高的1天,然后再找當(dāng)天接口調(diào)用量最高的時(shí)間點(diǎn)(分鐘級(jí)別),比如在12:10調(diào)用量為10000,換算為每秒調(diào)用量10000/60=166,因此可以確定這個(gè)接口tps只要達(dá)到166即可滿足。
未上線項(xiàng)目
二八定律(無(wú)歷史數(shù)據(jù)參考) (日活用戶*總請(qǐng)求數(shù)*80%)/(24h-(0-6h)*3600秒*20%)*系數(shù)(2-5之間)=tps
1、先預(yù)估系統(tǒng)每日總請(qǐng)求數(shù),如果沒(méi)有歷史數(shù)據(jù)參考,一般是通過(guò)用戶量或者其他關(guān)聯(lián)系統(tǒng)來(lái)評(píng)估。
比如某網(wǎng)站新增每日簽到送積分功能,網(wǎng)站注冊(cè)用戶1000w,日活躍用戶100w左右,最極端情況下,這100w人都會(huì)來(lái)簽到(實(shí)際不會(huì)這么多人來(lái)簽到,評(píng)估指標(biāo)要盡量往高評(píng),以免出現(xiàn)極端情況),那么每天大概有100w次簽到請(qǐng)求,80%的請(qǐng)求數(shù)就是100w*0.8=80w。
2、再確定系統(tǒng)20%時(shí)間,大多數(shù)系統(tǒng)是24小時(shí)對(duì)外提供服務(wù)的(比如政府類項(xiàng)目,在一天某個(gè)時(shí)間段提供服務(wù))。
一般系統(tǒng)0點(diǎn)-6點(diǎn)之間訪問(wèn)量很少,從一天總訪問(wèn)量來(lái)看,可忽略不計(jì)。那20%的時(shí)間=(24-6h)*3600s*20%=12960秒。
3、最終計(jì)算出來(lái)的結(jié)果為80w請(qǐng)求/12960秒=61左右。也就是說(shuō)接口TPS滿足61即可。
4、最后再乘以一個(gè)冗余系數(shù)2-5之間,提高預(yù)期指標(biāo),防止人為評(píng)估造成預(yù)期指標(biāo)偏低情況。
可以通過(guò)對(duì)項(xiàng)目接口的峰值監(jiān)控,來(lái)對(duì)比之前評(píng)估的算法結(jié)果,調(diào)整冗余系數(shù),最終隨著不斷的數(shù)據(jù)積累,將會(huì)形成一套本項(xiàng)目的性能模型。
?
?
總結(jié)
以上是生活随笔為你收集整理的【性能测试】性能需求挖掘、性能方案制定及压测场景设计之疑惑与思考(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: fiddler抓包工具配置详解
- 下一篇: jop怎么读音英语怎么说_“跨年”英语怎