zoukankan      html  css  js  c++  java
  • 性能调优篇

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

  • 相关阅读:
    HTTP状态码
    NSData NSDate NSString NSArray NSDictionary 相互转换
    NSDictionary to jsonString || 对象转json格式
    git 上传本地文件到github
    NSAssert用法
    深入理解GCD(一)
    ug-Assertion failure in [MyClass layoutSublayersOfLayer:]
    构建之法阅读笔记01
    学习进度
    四则运算程序
  • 原文地址:https://www.cnblogs.com/feng-1314/p/7149532.html
Copyright © 2011-2022 走看看