性能调优篇

一.性能测试,报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来解析数据出来

原文地址:https://www.cnblogs.com/feng-1314/p/7149532.html