前提:
通常我们在做性能测试过程中,通过以下三个命令来实时查看服务器的连接数情况,然而,在自动化过程中,去除了人为的操作,同时也为了依旧能够查看服务器的连接数情况,我们采用每隔10s去查看一下连接数,然后写入文件name.txt(内容为时间和连接数),结束后发送给汇总服务器。
查看服务器当前连接数netstat -na|wc -l
查看服务器特定端口连接线程数:netstat -nat|grep -i "端口号"|wc -l
排除特定线程数之后:netstat -nat|grep -v "端口号"|wc -l
操作步骤:
1、单台服务器写脚本,使之每10s记录一次数据,共记录210次(以30min,每10s记录一次为例,6x30=180次,多记录5min观察性能测试结束后场景)
2、在jenkins中创建任务A,调用该台服务器,启动该脚本运行
3、在jenkins中创建任务B,调用该台服务器,将结果统一转移至.jenkins/workspace/B/report下(需要注意,任务B需要在任务A之后执行,具体时间间隔,可自行控制,小编设置时间为1小时)
4、发送邮件
5、定期删除服务器多余数据
name.txt脚本中的具体内容如下:
#!/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
结束
网友评论