前提:
通常我們在做性能測試過程中,通過以下三個命令來實時查看服務(wù)器的連接數(shù)情況,然而,在自動化過程中,去除了人為的操作,同時也為了依舊能夠查看服務(wù)器的連接數(shù)情況,我們采用每隔10s去查看一下連接數(shù),然后寫入文件name.txt(內(nèi)容為時間和連接數(shù)),結(jié)束后發(fā)送給匯總服務(wù)器。
查看服務(wù)器當(dāng)前連接數(shù)netstat -na|wc -l
查看服務(wù)器特定端口連接線程數(shù):netstat -nat|grep -i "端口號"|wc -l
排除特定線程數(shù)之后:netstat -nat|grep -v "端口號"|wc -l
操作步驟:
1、單臺服務(wù)器寫腳本,使之每10s記錄一次數(shù)據(jù),共記錄210次(以30min,每10s記錄一次為例,6x30=180次,多記錄5min觀察性能測試結(jié)束后場景)
2、在jenkins中創(chuàng)建任務(wù)A,調(diào)用該臺服務(wù)器,啟動該腳本運(yùn)行
3、在jenkins中創(chuàng)建任務(wù)B,調(diào)用該臺服務(wù)器,將結(jié)果統(tǒng)一轉(zhuǎn)移至.jenkins/workspace/B/report下(需要注意,任務(wù)B需要在任務(wù)A之后執(zhí)行,具體時間間隔,可自行控制,小編設(shè)置時間為1小時)
4、發(fā)送郵件
5、定期刪除服務(wù)器多余數(shù)據(jù)
name.txt腳本中的具體內(nèi)容如下:
#!/bin/bash
for i in $(seq 1 210)
do
echo `date +"%F %H:%M:%S"` "TCP-ALL" `netstat -anotp |awk '/tcp/ {print $6}'|wc -l` >> /result/tcp_allcount.txt
echo `date +"%F %H:%M:%S"` "TCP-LISTEN" `netstat -anotp|grep "LISTEN" |wc -l` >> /result/tcp_listencount.txt
echo `date +"%F %H:%M:%S"` "TCP-ESTABLISHED" `netstat -anotp | grep "ESTABLISHED" |wc -l ` >> /result/tcp_establishedcount.txt
echo `date +"%F %H:%M:%S"` "TCP_TIME_WAIT" `netstat -anotp |grep "TIME_WAIT" |wc -l ?` >> /result/tcp_waitcount.txt
echo `date +"%F %H:%M:%S"` "TCP_CLOSE_WAIT" `netstat -anotp |grep "CLOSE_WAIT" |wc -l` >> /result/tcp_close_waitcount.txt;
sleep 10
done
結(jié)束