1
JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现 2 nGrinder是一个基于 Grinder 开发的一个非常易于管理和使用的性能测试系统。
它是由一个controller和连接它的多个agent组成,用户可以通过web界面管理和控制测试,以及查看测试报告,controller会把测试分发到一个或多个agent去执行。用户可以设置使用多个进程和线程来并发的执行该脚本,而且在同一线程中,来重复不断的执行测试脚本,来模拟很多并发用户。
nGrinder的测试是基于一个python的测试脚本,用户按照一定规则编写测试脚本以后,controller会将脚本以及需要的其他文件分发到agent,用Jython执行。并在执行过程中收集运行情况、响应时间、测试目标服务器的运行情况等。并保存这些数据生成运行报告,以供以后查看。
nGrinder的一大特点就是非常容易使用,安装也非常容易,可以做到开箱即用,测试用户也可以很容易就开始测试任务。当然,如果想执行一些比较复杂场景的性能测试,就需要测试人员对python有一定认识。
3VisualVM是一个集成多个JDK命令行工具的可视化工具。可以作为Java应用程序性能分析和运行监控的工具。开发人员可以利用它来监控、分析线程信息,浏览内存堆数据。系统管理员可以利用它来监测、控制Java应用程序横跨整个网络的情况。Java应用程序使用人员可以利用它来创建包含所有必要信息的Bug 报告。
4LambdaProbe是一款 Tomcat 的管理以及性能测试的强大的免费开源工具,LambdaProbe拥有几乎所有Tomcat Manager的功能, 可以说是一个增强版本的 Tomcat Manager。
5 JDepend,代码检测工具;
6httpsender是一款轻量级的http压力测试工具,由淘宝的测试工程师用Java语言开发完成。它可以指定并发连接数发送指定数目的请求,还可以自定义请求的header头。请求的URL支持通过正则表达式指定范围,同时也支持从文件随机或顺序读取。它还具备验证数据是否完整和错乱等较高级的功能。默认应用环境为Linux。
在JDK的开发包中,有一系列用于监测JAVA运行情况的命令行工具。这些工具的实现都在tools.jar中。
下面是这些命令行工具的简单介绍:
l jsp:类似于Linux下的ps,用于列出系统中的Java进程;
l jstat:用于观察Java应用程序运行时信息的工具,可以查看堆信息的详细情况;
l jinfo:用来查看/修改正在运行的Java进程的扩展参数;
l jmap:可以生成Java进程的堆快照和对象统计信息;
l jhat:可以用于分析Java进程的堆快照内容;
监听7000端口,提供基于WEB的分析结果;
带有一个类似SQL的OQL查询语言;
l jstack:导出Java进程的线程堆栈信息;可以列出所有的锁信息;
l jstatd:是一个RMI服务端程序,用于监控本机的Java进程,为其他命令提供远程访问的接口;
l hprof:是一个Java agent工具,可以用于监控Java进程的CPU,堆信息
除了上面的命令行工具外,还有一些基于图形界面的监控工具:
l Jconsole:JDK自带的图形化性能监控工具;
l Visual VM:是一个功能强大的多合一故障和性能监控工具;
支持OQL;
l MAT:这是eclipse的一个插件,是一个Java堆内存分析器,可以用于查找内存泄露以及查看内存消耗情况。支持OQL;
性能调优一个不错的网站:
http://www.javaperformancetuning.com/tips/rawtips.shtml
转发至微博
转发至微博