前提:
通常我們在做性能測試過程中,通過以下三個命令來實時查看服務器的連接數(shù)情況万牺,然而罗珍,在自動化過程中,去除了人為的操作脚粟,同時也為了依舊能夠查看服務器的連接數(shù)情況覆旱,我們采用每隔10s去查看一下連接數(shù),然后寫入文件name.txt(內(nèi)容為時間和連接數(shù))核无,結束后發(fā)送給匯總服務器扣唱。
查看服務器當前連接數(shù)netstat -na|wc -l
查看服務器特定端口連接線程數(shù):netstat -nat|grep -i "端口號"|wc -l
排除特定線程數(shù)之后:netstat -nat|grep -v "端口號"|wc -l
操作步驟:
1、單臺服務器寫腳本,使之每10s記錄一次數(shù)據(jù)噪沙,共記錄210次(以30min炼彪,每10s記錄一次為例,6x30=180次正歼,多記錄5min觀察性能測試結束后場景)
2辐马、在jenkins中創(chuàng)建任務A,調(diào)用該臺服務器局义,啟動該腳本運行
3喜爷、在jenkins中創(chuàng)建任務B,調(diào)用該臺服務器萄唇,將結果統(tǒng)一轉移至.jenkins/workspace/B/report下(需要注意檩帐,任務B需要在任務A之后執(zhí)行,具體時間間隔另萤,可自行控制湃密,小編設置時間為1小時)
4、發(fā)送郵件
5仲墨、定期刪除服務器多余數(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
結束