1.jmeter允許多個(gè)線程并發(fā)取樣,那么,多線程有上限、瓶頸嗎?
按我的理解,實(shí)際壓測(cè)過(guò)程中,是用4臺(tái)壓測(cè)機(jī),一臺(tái)機(jī)器50-100并發(fā)量,jmeter應(yīng)該是可以做到并發(fā)無(wú)壓力的,如果jmeter做不到并發(fā)100,可查看壓測(cè)機(jī)器的性能,是否因?yàn)閮?nèi)存、網(wǎng)絡(luò)、cpu占用導(dǎo)致的瓶頸。


[圖片上傳中...(image.png-e7c64b-1615542119203-0)]





2.區(qū)分qps tps?
TPS:事務(wù)數(shù)/秒 一個(gè)事務(wù)可能包含多個(gè)查詢(xún)
QPS:查詢(xún)數(shù)/秒 (每秒響應(yīng)的請(qǐng)求數(shù))
QPS(TPS):每秒鐘request/事務(wù) 數(shù)量
并發(fā)數(shù): 系統(tǒng)同時(shí)處理的request/事務(wù)數(shù)
響應(yīng)時(shí)間: 一般取平均響應(yīng)時(shí)間
QPS(TPS)= 并發(fā)數(shù)/平均響應(yīng)時(shí)間
3.top 90 95 99如何理解?
tp99:一段時(shí)間的壓測(cè)中,將每一次的請(qǐng)求記錄,按響應(yīng)時(shí)間從小到大排序,第99%的那個(gè)時(shí)間點(diǎn)
4.如何大概計(jì)算數(shù)據(jù)是否準(zhǔn)準(zhǔn)確?
通過(guò)梯度加壓,記錄tps、響應(yīng)時(shí)間、網(wǎng)絡(luò)io、cpu、內(nèi)存等指標(biāo),確認(rèn)此次壓測(cè)是否達(dá)到正常的變化曲線

5.如何確保不受網(wǎng)絡(luò)因素影響?
--一般如果是網(wǎng)絡(luò)因素,引起的現(xiàn)象:無(wú)論開(kāi)多少個(gè)線程,QPS一直壓不上去,服務(wù)器和數(shù)據(jù)庫(kù)的性能指標(biāo)(主要是CPU和內(nèi)存)一直維持在很低的水平。
--故,需在壓測(cè)前確認(rèn),帶寬不影響壓測(cè)結(jié)果,服務(wù)器和壓測(cè)機(jī)之間,沒(méi)有流量限制。
6.思考:如何貼近實(shí)際的業(yè)務(wù)場(chǎng)景從而保證壓測(cè)的準(zhǔn)確性?
采取真實(shí)的線上數(shù)據(jù)、峰值作為樣本;
思考具體業(yè)務(wù)場(chǎng)景,單接口壓測(cè)、復(fù)合接口壓測(cè)、比例根據(jù)真實(shí)業(yè)務(wù)來(lái)調(diào)節(jié);
7.有哪些情況會(huì)導(dǎo)致壓力較低,qps起不來(lái)?
①未關(guān)限流,導(dǎo)致壓力值起不來(lái);
②Master 機(jī)硬盤(pán)文件寫(xiě)滿,導(dǎo)致壓力降低;
8.一般來(lái)說(shuō),服務(wù)器發(fā)出的數(shù)據(jù)和壓測(cè)機(jī)接收的數(shù)據(jù)返回值,流量是大致相等的,什么時(shí)候會(huì)對(duì)不上呢?
①壓接口時(shí),服務(wù)器端可能還會(huì)請(qǐng)求別的接口的數(shù)據(jù),導(dǎo)致又接收了一些數(shù)據(jù)量,使服務(wù)器和壓測(cè)機(jī)的數(shù)據(jù)流量匹配不上;
② 壓測(cè)腳本header 頭部沒(méi)有添加壓縮的格式;
如何計(jì)算流量:估算一個(gè)返回值的大小*返回值數(shù)量=服務(wù)器發(fā)出的流量
9.大量報(bào)錯(cuò)可能哪些?
①大網(wǎng)關(guān) CPU 負(fù)載較大時(shí),導(dǎo)致大量603報(bào)錯(cuò);
②Redis 被壓垮;
10.運(yùn)行jmeter腳本時(shí)出現(xiàn)問(wèn)題,排錯(cuò)步驟:
跑測(cè)試腳本時(shí)(1個(gè)線程 + 1次),查看生成的 jtl 文件是否正常,出現(xiàn)錯(cuò)誤時(shí)優(yōu)先查看 jmeter.log 的日志(在你運(yùn)行 jmeter 啟動(dòng)命令的那個(gè)文件夾);