• 性能调优篇


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

  • 相关阅读:
    jmeter linux使用经验小结
    同步两台linux服务器时间同步方案
    jsp空页面导致的jvm heap溢出
    Struts2 interceptor使用经验小结
    转--Server “**” has shut down the connection prematurely一例分析
    Tomcat HTTP/1.1 Connector 参数整理
    严重: The web application [] registered the JDBC driver 错误
    JavaScript那些事
    jstl c标签 ”test does not support runtime expressions“
    SpringMvc文件资源防止被外链链接
  • 原文地址:https://www.cnblogs.com/feng-1314/p/7149532.html
Copyright © 2020-2023  润新知