中文界面設(shè)置
- 修改
bin/jmeter.properties
文件绍些,將language
設(shè)置為zh_CN
。#Preferred GUI language. Comment out to use the JVM default locale's language. language=zh_CN
利用jmeter代理服務(wù)器進行腳本錄制
- 在
測試計劃
中添加線程組
- 線程數(shù):就是模仿用戶并發(fā)的數(shù)量尸红,Ramp-up:運行線程的總時間,單位是秒,循環(huán)次數(shù):就是每個線程循環(huán)多少次。
-
我現(xiàn)在的線程數(shù)是200倦炒,就是相當(dāng)于有200個用戶显沈,運行線程的總時間是10秒软瞎。也就是說在這10秒中之內(nèi)200個用戶同時訪問,一秒鐘有20個用戶同時訪問拉讯,每個用戶循環(huán)一次涤浇,也就是訪問一次。
- 在
測試計劃
中添加非測試元件
→http代理服務(wù)器
- 端口(代理服務(wù)器監(jiān)聽端口):可另外設(shè)置端口魔慷,默認(rèn)8888
- 目標(biāo)控制器:
測試計劃 > 線程組
- 分組:
每個組放入一個新的控制器
- 勾選:
記錄HTTP信息頭
- http代理服務(wù)器:
- 添加過濾條件:
(?i).*\.(bmp|css|js|gif|ico|jpe?g|png|swf|woff|woff2|svg|ttf)
- 打開瀏覽器只锭,網(wǎng)絡(luò)設(shè)置,將局域網(wǎng)設(shè)置中的代理服務(wù)器設(shè)為localhost院尔,端口設(shè)置為8888
- 代理服務(wù)器配置后之后蜻展,點擊
HTTP代理服務(wù)器
啟動按鈕,代理服務(wù)器就會開始記錄所接受的http請求 - 在瀏覽器地址欄輸入需要測試的地址并進行相關(guān)操作邀摆,完成第一組錄制
- 得到第一組錄制的結(jié)果后纵顾,將任意一個請求的
HTTP信息頭管理器
移至測試計劃
→線程組
使其成為全局HTTP信息頭管理器
-
HTTP代理服務(wù)器
中取消勾選:記錄HTTP信息頭
,重啟HTTP代理服務(wù)器
- 刪除錄制的第一組信息栋盹,重新進行錄制
- 腳本錄制完畢施逾,處理一下
HTTP信息頭管理器
,添加或修改需要的信息頭后即可開始進行壓測
遠(yuǎn)程測試
-
部署從節(jié)點
apiVersion: v1 kind: Service metadata: name: jmeter spec: clusterIP: None ports: - port: 1099 name: server selector: app: jmeter --- apiVersion: apps/v1beta1 kind: StatefulSet metadata: name: jmeter labels: app: jmeter spec: serviceName: jmeter replicas: 5 selector: matchLabels: app: jmeter template: metadata: labels: app: jmeter spec: affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app operator: In values: - jmeter topologyKey: "kubernetes.io/hostname" containers: - name: jmeter image: justb4/jmeter:5.1.1 ports: - name: server containerPort: 1099 - name: rmi containerPort: 20000 env: - name: RMI_HOST valueFrom: fieldRef: fieldPath: status.podIP command: - jmeter-server args: - -Dserver.rmi.ssl.disable=true - -Djava.rmi.server.hostname=$(RMI_HOST)
-
運行控制端
kubectl run jmeter-master --image=justb4/jmeter:5.1.1 -it --restart=Never --command -- bash
-
另開窗口,將保存的腳本復(fù)制到j(luò)meter-master pod中
kubectl cp self.jmx jmeter-master:/
-
在控制端汉额,執(zhí)行壓測
jmeter -Dserver.rmi.ssl.disable=true \ -n \ -t /self.jmx \ -l /result.jtl \ -R jmeter-0.jmeter.jmeter.svc,jmeter-1.jmeter.jmeter.svc,jmeter-2.jmeter.jmeter.svc,jmeter-3.jmeter.jmeter.svc,jmeter-4.jmeter.jmeter.svc
-
另開窗口曹仗,保存壓測結(jié)果
kubectl cp jmeter-master:/result.jtl .
-
將壓測報告導(dǎo)成html
jmeter -g result.jtl -o result