JMeter多腳本間的啓動延時

JMeter作壓測時,當須要多個jmx腳本依次執行時,須要用到「啓動延時」,即間隔可設置的時間後啓動運行下一個jmx腳本。shell

實現「啓動延時」的方法有2個。bash

方法一、利用JMeter線程組中的"Startup delay"參數測試

如上圖,調度器(Scheduler)中有2個參數,持續時間(Duration)和啓動延時(Startup delay),Duration用的比較多,能夠限定測試的持續時間。spa

當jmx腳本不止1個時,若是須要全部jmx腳本都依次執行就須要用到Startup delay了。線程

Startup delay    # 從當前時刻開始延遲多長時間開始運行

咱們能夠一次性的建立全部的測試腳本,每一個測試腳本依據具體的測試需求設定不一樣的Startup delay時間,好比腳本0的Startup delay時間爲0(直接啓動),code

腳本1的Startup delay時間爲1000,腳本1的Startup delay時間爲2000(以此類推)。blog

因爲要把腳本放到Linux環境中運行,能夠寫一個shell腳本test.sh來作到「一鍵啓動」,還須要建立1個包含全部測試腳本的testdata文件夾,以下:io

test.sh文件:class

#!/bin/bash
#author:jiatest

# 使用 . 號來引用testdata下的全部jmx文件
. ./testdata/*


nohup jmter -n -t test_00.jmx > test_00.log 2>&1 & 
nohup jmter -n -t test_01.jmx > test_01.log 2>&1 &
nohup jmter -n -t test_02.jmx > test_02.log 2>&1 &
nohup jmter -n -t test_03.jmx > test_03.log 2>&1 &

2>&1 的做用:將標準輸出、標準錯誤輸出合併後重定向到test_00.log。

nohup &的方式能夠把test.sh放到後臺運行,避免前臺斷開鏈接打斷test.sh的運行。

方法二、利用shell的sleep命令

也就是直接在test.sh腳本中加入延時,test.sh變爲:

nohup jmter -n -t test_00.jmx > test_00.log 2>&1 & 
sleep 10m # 等待10分鐘後再執行下一個命令 nohup jmter -n -t test_01.jmx > test_01.log 2>&1 &
sleep 10m nohup jmter -n -t test_02.jmx > test_02.log 2>&1 &
sleep 10m nohup jmter -n -t test_03.jmx > test_03.log 2>&1 &
相關文章
相關標籤/搜索