一、Apache JMeter 测试使用
Apache JMeter 说明
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java小服务程序、CGI脚本、Java 对象、数据库, FTP服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能。
Apache JMeter 插件安装
Apache JMeter 测试使用
1.添加线程组
右键测试计划->添加->Threads(Users)->jp@gc - Stepping Thread Group
image2018-8-20 9_44_4.png
添加一个线程
image2018-8-20 9_44_38.png
参数说明:
l This group will start Max threads - 设置单台负载机,线程组启动的线程总数为Max个
l First,wait for N seconds - 启动第一个线程之前,需要等待N秒
l Then start N threads - 设置最开始时启动N个线程
l Next add N1 threads every N2 seconds, using ramp-up N3 seconds - 然后,每隔N2秒,在N3秒内启动N1个线程
l Then hold load for N seconds - 单台负载机启动的线程总数达到Max之后,持续运行N秒
l Finally,stop N1 threads ervery N2 seconds - 最后,每隔N2秒,停止N1个线程数。
2.添加HTTP 请求
HTTP请求 示例
image2018-8-20 10_5_57.png
3.添加查看结果树
image2018-8-20 10_10_50.png
4.添加聚合报告
image2018-8-20 10_18_34.png
二、使用 Visual VM 监控 应用程序 堆栈使用情况
1、VisualVM 简介
VisualVM 是一个工具,它提供了一个可视界面,用于查看 Java 虚拟机 (Java Virtual Machine, JVM) 上运行的基于 Java 技术的应用程序(Java 应用程序)的详细信息。VisualVM 对 Java Development Kit (JDK) 工具所检索的 JVM 软件相关数据进行组织,并通过一种使您可以快速查看有关多个 Java 应用程序的数据的方式提供该信息。您可以查看本地应用程序以及远程主机上运行的应用程序的相关数据。
VisualVM 使用
image2018-8-14 17_8_20.png
点击确定
image2018-8-14 17_9_23.png
Visual VM 可以监控本地 应用程序 也可以监控 远程的应用程序。 现在以监控 远程程序 为例
我们要监控 远程服务器 10.100.96.13 的应用 jar 程序
需要启动 远程服务器的jar 以msgServer 为例
启动命令为:nohup java -Djava.rmi.server.hostname=10.100.96.13 -Dcom.sun.management.jmxremote.port=1099 Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar msgServer.jar &
其中参数 -Djava.rmi.server.hostname=10.100.96.13 为远程监控地址 -Dcom.sun.management.jmxremote.port=1099 为自定义远程监控端口 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false 为关闭验证
利用 Visual VM 进行远程监控
添加链接, 点击确定。
image2018-8-14 17_18_7.png
链接成功之后 效果如下
image2018-8-14 17_21_46.png
监控cpu 和内存情况
监控类
image2018-8-14 17_38_51.png