1、基本公式
線程數(shù) = QPS * time真慢;
注:QPS--每秒完成請求的個數(shù)服爷;time--每個請求響應(yīng)完成平均需要時間;
故QPS * time就是所有請求完成響應(yīng)所需要的總時間您朽,如果需要在一秒完成所有請求的響應(yīng),所以線程數(shù)需要等于總時間值
壓力測試線程數(shù)確定
比如一個活動换淆,大概一個小時內(nèi)有60w人的流量哗总,算應(yīng)該壓測的線程數(shù)是多少
一個小時=60分鐘=3600s
算法:
二八定律,20%的時間跑了80%的流量 ------換算就是? 12分鐘跑了48w流量
48w/12/60 ~=667
就是設(shè)置集合點后倍试,每秒應(yīng)跑的線程數(shù)是667? --當(dāng)然也不是絕對的? 線程數(shù)需要一點一點往上壓? 主要看測試之前制定的指標(biāo)
指標(biāo)如:
每秒事務(wù)數(shù)讯屈、接口error率、響應(yīng)時間县习、內(nèi)存涮母、cpu、網(wǎng)絡(luò)躁愿、資源叛本、jvm查看fgc情況和阻塞點、
壓力測試
??壓力測試分兩種場景:一種是單場景彤钟,壓一個接口的来候;第二種是混合場景,多個有關(guān)聯(lián)的接口逸雹。壓測時間营搅,一般場景都運行10-15分鐘。如果是疲勞測試梆砸,可以壓一天或一周转质,根據(jù)實際情況來定。
壓測任務(wù)需求的確認(rèn)
壓測前要明確壓測功能和壓測指標(biāo)帖世,一般需要確定的幾個問題:
固定接口參數(shù)進(jìn)行壓測還是進(jìn)行接口參數(shù)隨機化壓測休蟹?
要求支持多少并發(fā)數(shù)?
TPS(每秒鐘處理事務(wù)數(shù))目標(biāo)多少狮暑?響應(yīng)時間要達(dá)到多少鸡挠?
壓服務(wù)器名稱還是壓服務(wù)器IP,一般都是壓測指定的服務(wù)器
壓測設(shè)置
線程數(shù):并發(fā)數(shù)量搬男,能跑多少量拣展。具體說是一次存在多少用戶同時訪問
Rame-Up Period(in seconds):表示JMeter每隔多少秒發(fā)動并發(fā)。理解成準(zhǔn)備時長:設(shè)置虛擬用戶數(shù)需要多長時間全部啟動缔逛。如果線程數(shù)是20备埃,準(zhǔn)備時長為10姓惑,那么需要10秒鐘啟動20個數(shù)量,也就是每秒鐘啟動2個線程按脚。
循環(huán)次數(shù):這個設(shè)置不會改變并發(fā)數(shù)于毙,可以延長并發(fā)時間「ò幔總請求數(shù)=線程數(shù)*循環(huán)次數(shù)
調(diào)度器:設(shè)置壓測的啟動時間唯沮、結(jié)束時間、持續(xù)時間和啟動延遲時間堪遂。
壓測結(jié)果查看
? ? ? ? 運行完后介蛉,查看結(jié)果樹可以查看接口成功與否
??聚合報告會顯示壓測的結(jié)果。主要觀察Samples溶褪、Average币旧、error、Throughput猿妈。
Samples:表示一共發(fā)出的請求數(shù)
Average:平均響應(yīng)時間吹菱,默認(rèn)情況下是單個Request的平均響應(yīng)時間(ms)
Error%:測試出現(xiàn)的錯誤請求數(shù)量百分比。若出現(xiàn)錯誤就要看服務(wù)端的日志彭则,配合開發(fā)查找定位原因
Throughput:簡稱tps,吞吐量鳍刷,默認(rèn)情況下表示每秒處理的請求數(shù),也就是指服務(wù)器處理能力贰剥,tps越高說明服務(wù)器處理能力越好倾剿。
壓測結(jié)果的分析
有錯誤率同開發(fā)確認(rèn),確定是否允許錯誤的發(fā)生或者錯誤率允許在多大的范圍內(nèi)蚌成;
Throughput吞吐量每秒請求的數(shù)大于并發(fā)數(shù)前痘,則可以慢慢的往上面增加;若在壓測的機器性能很好的情況下担忧,出現(xiàn)吞吐量小于并發(fā)數(shù)芹缔,說明并發(fā)數(shù)不能再增加了,可以慢慢的往下減瓶盛,找到最佳的并發(fā)數(shù)最欠;
壓測結(jié)束,·登陸相應(yīng)的web服務(wù)器查看CPU等性能指標(biāo)惩猫,進(jìn)行數(shù)據(jù)的分析;
最大的tps:不斷的增加并發(fā)數(shù)芝硬,加到tps達(dá)到一定值開始出現(xiàn)下降,那么那個值就是最大的tps轧房。
最大的并發(fā)數(shù):最大的并發(fā)數(shù)和最大的tps是不同的概率拌阴,一般不斷增加并發(fā)數(shù),達(dá)到一個值后奶镶,服務(wù)器出現(xiàn)請求超時迟赃,則可認(rèn)為該值為最大的并發(fā)數(shù)陪拘。
壓測過程出現(xiàn)性能瓶頸,若壓力機任務(wù)管理器查看到的cpu纤壁、網(wǎng)絡(luò)和cpu都正常左刽,未達(dá)到90%以上,則可以說明服務(wù)器有問題酌媒,壓力機沒有問題欠痴。
影響性能考慮點包括:數(shù)據(jù)庫、應(yīng)用程序馍佑、中間件(tomact斋否、Nginx)、網(wǎng)絡(luò)和操作系統(tǒng)等方面