shell編寫乙個簡單的jmeter自動化壓測指令碼

2021-09-07 09:26:27 字數 2392 閱讀 5593

在公司做壓力測試也挺長時間了,每次測試前環境資料準備都需要話費較長時間,所以一直在考慮能不能將整個過程實現自動化進行,於是就抽空寫了乙個自動化指令碼,當然這個指令碼目前功能十分簡陋,**也不完善,很有很多需要改的地方,後續再優化。文中如有錯誤或者不妥之處,還望指教。

1、初始化資料庫(匯入使用者,清除資料等)

2、初始化快取(使用了redis快取優化系統)

3、執行壓力測試

#!/bin/bash

set -e

lc_all=c

lang=c

unset tz

file_path="./"

host="192.168.0.32"

username="test"

password="test.123"

dbname="test"

jmeter_path="./apache-jmeter-3.0/bin/jmeter.sh"

jmx_path="./apache-jmeter-3.0/jmxs/termplan_dq.jmx"

jtl_path="./apache-jmeter-3.0/jtls/`date +%y%m%d-%h%m`.jtl"

sql_path="./sqlfiles/"

#now=`date +date +%y%m%d-%h%m`

###############33######

####資料庫初始化

###############33######

function init_data() --default-character-set=utf8 -u$ -p$ $ -e"

delete from t_user where id > 50000;

delete from t_person where id > 50000;

select count(*) as '壓測前預約總數' from t_test_table;

"cd $

sql_name=`ls`

for file_name in $

doif [ -f "$file_name" ];then

#command="source $file_name"

mysql -h$ --default-character-set=utf8 -u$ -p$ $ -e "source $"

else

echo -e "\033[31;31m sql檔案不存在!!!\033[0m"

fidone

cd ..

mysql -h$ --default-character-set=utf8 -u$ -p$ $ -e"

select count(*) as '新增使用者數' from t_user where id > 50000;

"echo "**********已完成初始化相關資料**********=="

}###############33######

####快取初始化

###############33######

function init_cache()

###############33######

####執行jmeter指令碼

###############33######

function auto_jmeter() -n -t $ -l $

}###############33######

####查詢資料(資料太多無作用,因為快取到資料庫需要很長時間)

###############33######

function select_data() --default-character-set=utf8 -u$ -p$ $ -e"

select count(*) as '壓測後預約總數' from t_test_table;

quit

"echo "**********==相關資料查詢完畢**********===="

echo -e "\033[36;36m**********==壓力測試執行完畢**********====\033[0m"

1、jmeter壓力上不去,儘管加了1000個執行緒,但實際併發20左右,這個在之前發的文件裡面有資料呈現。

2、支援輸出html報告,需要實現,壓測報告更加直觀。如何輸出正確的測試報告非常重要。

等等上述問題解決會繼續更新

編寫乙個簡單的shell

include include include include include include include include void getloginname void gethostname void getdir p printf s p int main char argv 32 char...

編寫乙個簡單的死鎖

public class dead lock1 class runnable1 implements runnable catch exception e class runnable2 implements runnable catch exception e obj1 和 obj2 都是屬於類的...

乙個簡單的makefile的編寫

標頭檔案 part.h cpp檔案 包含part.h part.cpp cpp檔案 包含part.h partmain.cpp makefile編寫如下 main partmain.o part.o g o main partmain.o part.o partmain.o partmain.cpp...