一、JProfiler简介

  JProfiler 是一个商业授权的Java剖析工具,由EJ技术有限公司,针对的Java EE和Java SE应用程序开发的。它把CPU、执行绪和内存的剖析组合在一个强大的应用中。JProfiler可提供许多IDE整合和应用服务器整合用途。JProfiler的是一个独立的应用程序,但其提供Eclipse和IntelliJ等IDE的插件。它允许两个内存剖面评估内存使用情况和动态分配泄漏和CPU剖析,以评估线程冲突。JProfiler直觉式的GUI让你可以找到性能瓶颈、抓出内存漏失(memory leaks)、并解决执行绪的问题。它让你得以对heap walker作资源回收器的root analysis,可以轻易找出内存漏失;heap快照(snapshot)模式让未被参照(reference)的对象、稍微被参照的对象、或在终结(finalization)队列的对象都会被移除;整合精灵以便剖析浏览器的Java外挂功能。

二、JMeter简介

  Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。

三、IDEA安装JProfiler插件

  点击install安装该插件,安装完成后需要重启IDEA,左边插件是通过jprofiler启动tomat,并同时启动jprofiler监测。右边工具是将jprofiler直接绑定到一个活动的JVM中,即时进行监测。在通过profiler启动tomcat的过程中,会出现如图所示需要选择的界面,按照需求选择,我这里是进行java class的jvm性能测试,所以在Initial recording profile中选择 CPU recording ,其他按照默认配置即可。

  当然你也可以进行filter过滤设置、jdbc监测设置等。

  选择完成后,profiler即进行JVM监控操作,这里可以大致的看到内存、GC垃圾回收、Class、线程、以及CPU加载情况的监控。

  现在我们重点监控CPU加载情况监控。选中左边CPU views ,点击Attach可以修改关联项。

  点击jmeter.bat,启动jmeter。创建线程组,右键线程组,添加-->配置元件-->HTTP信息头管理器+HTTP请求   添加-->断言-->响应断言  添加-->监听器-->查看结果树+聚合报告,你也可以按照你的测试要求添加其他需要的组件,我这里是对rest的接口进行测试,所以这些已经可以满足要求。Http消息头设置 contentType设置为需要的json格式 application/json。在http请求中填写你的需要测试的服务IP/端口/接口访问路径/请求方式/请求协议等信息。数据如果是post方式提交,请求的参数填写至Body Data中即可。

  线程组线程数根据需要进行设定

  

  通过点击工具中部的右三角图标启动jmeter测试。启动完成后,我们可以通过jprofiler的CPU加载视图查看对应的method默认级别的加载耗时性能结果。以tree的形式展示,通过这样,你可以按照耗时进行有针对性的性能优化。同时,你可以通过jmeter的查看结果树界面查看每次请求的相应返回结果信息。jmeter会根据你的断言判断该请求是否成功。可以通过聚合报告查看整体测试的失败率等信息。通过配合线程组的同时启动线程量,以及响应时间等信息来进行压测,并出具测试报告。

原文地址:https://blog.csdn.net/qq_19674905/article/details/80824858

Java内存分析工具--IDEA的JProfiler和JMeter插件的更多相关文章

  1. Java内存分析工具MAT

    MAT是一个强大的内存分析工具,可以快捷.有效地帮助我们找到内存泄露,减少内存消耗分析工具.内存中堆的使用情况是应用性能监测的重点,而对于堆的快照,可以dump出来进一步分析,总的来说,一般我们对于堆 ...

  2. Java内存分析工具

    内存分析工具 IDEA插件(VisualVM Launcher) 执行main函数的时候,同时启动jvisualvm,实时查看资源消耗情况.如图效果: Eclipse Memory Analyzer ...

  3. idea插件篇之java内存分析工具(JProfiler)

    前言在运行java的时候有时候想测试云运行时占用内存情况,这时候就需要使用测试工具查看了.在eclipse里面有 Eclipse Memory Analyzer tool(MAT)插件可以测试,而在i ...

  4. Java内存分析工具jmap

    1. jmap 1.1 概述 JVM Memory Map命令用于生成heap dump文件,如果不使用这个命令,还可以使用-XX:+HeapDumpOnOutOfMemoryError参数来让虚拟机 ...

  5. idea java内存分析工具

    https://blog.csdn.net/qq_22194659/article/details/83829891 https://www.ej-technologies.com/products/ ...

  6. Android内存分析工具DDMS heap + MAT 安装和使用

    一  Java内存分析工具扫盲 如果像我一样一点都不了解,可以先进行内存分析工具扫盲   MAT介绍:     Eclipse Memory Analyzer(MAT)一个功能丰富的 JAVA 堆转储 ...

  7. Java开发分析工具JProfiler的详细使用方法解析

    JProfiler 11 是一款功能强大的Java代码分析工具,JProfiler的直观UI可帮助您解决性能瓶颈,确定内存泄漏并了解线程问题且JProfiler 11 Mac破解版配置会话非常简单,第 ...

  8. 【Java线程与内存分析工具】VisualVM与MAT简明教程

    目录 前言 VisualVM 安装与配置 本地使用 远程监控 MAT 使用场景 安装与配置 获得堆转储文件 分析堆转储文件 窥探对象内存值 堆转储文件对比分析 总结 前言 本文将简要介绍Java线程与 ...

  9. Java 性能分析工具 , 第 3 部分: Java Mission Control

    引言 本文为 Java 性能分析工具系列文章第三篇,这里将介绍如何使用 Java 任务控制器 Java Mission Control 深入分析 Java 应用程序的性能,为程序开发人员在使用 Jav ...

随机推荐

  1. 找不到windows.h源文件

    一.找不到源文件window.h 今天在网上下了个程序,在公司用VS2015能打开,在家用VS2017却打不开,提示找不到源文件window.h,因为引用了这个头文件,但是却找不到 解决方案: 右侧解 ...

  2. Freckles (最小生成树)

    #include<iostream> #include<cstring> #include<stdio.h> #include<queue> #incl ...

  3. 蚁群算法MATLAB解VRP问题

    Excel  exp12_3_2.xls内容: ANT_VRP函数: function [R_best,L_best,L_ave,Shortest_Route,Shortest_Length]=ANT ...

  4. HTML 实体字符

    有些字符,像(<)这类的,对HTML来说是有特殊意义的,所以这些字符是不允许在文本中使用的.要在HTML中显示(<)这个字符,我们就必须使用实体字符. 实体字符 有一些字符对HTML来讲是 ...

  5. BZOJ 3057圣主的考验题解

    老师居然考这么毒瘤的题目!!!!! 很容易想到dp,f[i][j]表示有i个节点,左子树的最深深度为j的方案数 枚举左子树有多少节点然后转移,复杂度为n^3 T飞~ 我们考虑到有深度为h的树的节点有多 ...

  6. Lunix文件的读写权限问题

    今天把在windows平台build好的lunix执行文件复制到Lunix的虚拟机上,发现可执行文件不能执行了,后来才发现文件时有读写和可执行权限的,但是是可以更改的,右键属性,把可执行属性勾选上就可 ...

  7. NodeJs的简介及安装

    首先 分享一下NodeJs的应用场景吧: Web聊天室(IM):Express + Socket.io socket.io一个是基于Nodejs架构体系的,支持websocket的协议用于时时通信的一 ...

  8. python自定义函数和内置函数

    函数 1.定义 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 先定义,后使用 1.2分类 系统函数 自定义函数 1.3语法: def functionname(parameter ...

  9. nginx简单使用

    nginx开启./nginx重启./nginx -s reload关闭./nginx -s stop或quit

  10. 【Django入坑之路】Django与Query Ajax的交互

    1:Jquery.ajax后端交互数据 $.ajax({ Url: /路由处理/, Type: GET/POST, #传送请求类型 Data: {user: “ XXXX”,pass:”XXXX”}, ...