高手的存在,就是让服务10亿人的时候,你感觉只是为你一个人服务......
  • About Me



  • 兴趣爱好


  • 上一张

    Jmeter自定义函数

    Jmeter自带的函数有时满足不了日常压测的需求,需要根据业务情况做定制化的扩展,这时就需要自定义函数。

    在编写自己的函数之前,可以先了解Jmeter自带的函数是如何实现的,然后我们模仿的写写就可以了,没什么难度。

    性能测试瓶颈分析方法指导

    一、 性能瓶颈分析流程

    1、 查看性能测试脚本,检查脚本设计是否合理。
    2、 查看压力机的CPU/IO/NET/MEM硬件资源使用情况,是否达到资源瓶颈。
    3、 查看服务器的CPU/IO/NET/MEM硬件资源使用情况,是否达到资源瓶颈。
    4、 查看项目日志,是否有报错、异常现象。
    5、 查看数据库死锁、连接池情况。
    6、 查看app的JVM堆栈和GC等情况。

    ganymed-ssh2 java环境变量设置

    使用gantmed-ssh2的session远程执行服务器上java命令(session.execCommand(“java”))的时候,发现java命令不存在。

    bash: java: command not found

    原因是与Linux主机建立连接的时候session没有读取java环境变量等信息。

    NGrinder 脚本不执行finally

    try..catch..finally,一般情况下fianly代码块中的代码一定会执行。

    但finally也有不执行的情况

    1
    System.exit(0);

    System.exit()的作用是中止当前虚拟机,虚拟机都被中止了,finally代码块自然不会执行。

    Junit4的执行流程

    Junit作为一款优秀的Java单元测试框架,在工作中经常会用到,利用JUnit进行单元测试非常简单方便。

    我们平时在写的NGrinder性能测试脚本也是依托于Junit,所以熟悉Junit的执行流程很有必要。

    arthas profiler 成火焰图

    目录

    之前写过使用lightweight-java-profiler来生成火焰图,它是通过-agentpath:${path}/liblagent.so的方式,来进行监控收集数据,收集完毕要停应用才能出数据,稍微有些麻烦。

    arthas在3.1.5版本加入了profiler火焰图功能,无需启停应用,开箱即用,命令非常简单。

    具体参考:https://alibaba.github.io/arthas/profiler.html

    nGrinder socket协议+DLL库调用脚本

    最近有个POS机刷卡消费的压测需求,走的是socket协议,并且开发将标准银联POS终端MAC加密算法封装到了DLL中,消费报文组装的时候需要调DLL库中的方法进行报文加密。

    根据上面的描述,编写nGrinder脚本的时候需要实现:

    1. 模拟socket协议
    2. 调用dll库