一.性能测试,报500的错,TCP打开很多等待状态
如果是TPS比较高,如长连请求接达到2500以上,短连接请求500以上,有Nginx代理,用查看TPC的等待连接的TCP很多,如有35000这样的数据,那么应该要设置Linux系统的配置文件,查看TCP的命令如下(配置文件的修改可以参考:http://www.cnblogs.com/feng-1314/p/7060853.html里面有详细的分析):
查看各个状态的TCP个数(经常使用的): netstat -an | awk '/^tcp/ {++s[$NF]} END {for(a in s) print a,s[a]}'
查看TCP连接数的等待状态:
netstat -ant|grep -i time_wait |wc -l
查看所有已建立连接的总数:
netstat -nat||grep ESTABLISHED|wc -l
查看8080端口连接的详情(会把一条条的打印出来):
netstat -nat|grep -i 8080|wc -l
二.查看性能测试请求时,日志的打印命令
(非常有用的一个命令)
tail -f catalina.out
到tomcat的logs目录下,用这个命令可以查看当前请求,打印的日志,在平时的功能测试时,也可以用这个命令查看打印的日志,这个很容易知道这个功能为什么会报错,是哪里的代码有问题,比较容易定位bug(当然也不是所有的报错的都会打印出来)。
三.设置允许打开的最大进程数 - ulimit
性能测试时,同时会有很多请求。而Linux对于每个用户,系统限制其最大进程数。超过了系统限制了最大线程数,程序会报错,那么在执行性能测试的时候,先可以用这个命令来设置线程数:
查看当前用户允许打开的文件数:
ulimit -n
(一般用户是1024)
设置当前用户允许打开的文件数:
ulimit -n 65535
(存在缺省值为1024)
四.终止jmeter线程
1.在Linux系统上运行jmeter(3.1版本的),需要有1.7版本以上的jdk。
上传jmeter的文件( 解压当前文件unzip 或是 tar -xzvf nmon16e_mpginc.tar.gz)
然后授权 chmod 777 jmeter.sh
进入到jmeter的bin目录下,用如下命令,就可以运行了:
test.jmx是脚本的名称、1.jtl是生成报告的结果文档
./jmeter.sh -n -t test.jmx -l 1.jtl
运行完成后,用sz 1.jtl 下载生成的报告文件、用rz 来上传脚本或是参数文件、用rm -rf test.jmx 1.jtl 来删除脚本
2.脚本运行报错时,直接退出当前运行:Ctrl+z ,用 ps aux|grep jmeter这个命令来查看当前jmeter运行的线程,再用kill -9 19065这个命令来杀某一个线程,如19065就是这么kill掉了。
五.CPU图形采取命令:
我们用的是nmon工具,可以自己在网上查找,然后配置。脚本运行之前,先设置好采取CPU变化图形的命令:
./nmon_x86_64_centos6 -f -s 10 -c
下载CPU的数据变化文件,用nmon analyser v51_2.xlsm来解析数据出来