性能测试三十九:Jprofiler分析CPU过高和响应时间长的问题
使用Jprofiler监控分析案例
一、cpu负载过高:http://localhost:8080/PerfTeach/CpuTopServlet?id=1
cpu消耗高的可能原因
1、使用了复杂的算法,比如加密、解密
2、压缩、解压、序列化等操作
3、代码bug,比如死循环
dstat监控起来,先看一下资源是否正常,用5个并发跑60秒
CPU:100%
TPS才几百,肯定就有问题
TOP:JAVA占的CPU最多
查看进程,是tomcat
使用jprofiler查看,很明显有个自己写的userToString方法占了19%
打开代码看那个方法:里面有使用Gson对json的转换
json转换组件:Gson、jackson、fastjson,三个组件各有优势,但是从从性能方面来说,Gson性能最差
所以直这个情况只能换组件,fastjson性能最好,建议使用fastjson
二、响应时间长:http://1localhost:8080/PerfTeach/TimeMonitor?id=1
使用jprofiler的方法耗时统计功能,可以统计出每个方法的耗时
50个并发,跑600秒
CPU不高
响应时间300多毫秒,有些慢了,需要优化,一般小于100毫秒,性能算是不错的了,100--500之间,算一般的,500以上,就是很差的
由于没有经过Nginx,所以直接查看tomcat日志里面的响应时间,和jmeter统计出来的差不多,网络没什么问题
重新压一下并且打开jprofiler,看看详细分析,doCalculator方法平均耗了200毫秒,应该优化这个方法
还有一种情况也是需要优化,如doCalculator方法平均用20毫秒,但是调用次数确是其他方法的几倍,造成耗时多
转载于:https://www.cnblogs.com/malinalian/p/10583289.html
性能测试三十九:Jprofiler分析CPU过高和响应时间长的问题相关推荐
- 【正点原子MP157连载】第三十九章 LCD驱动实验-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...
- Python编程基础:第三十九节 面向对象编程Object Oriented Programming
第三十九节 面向对象编程Object Oriented Programming 前言 实践 前言 到目前为止我们都是函数式编程,也即将每一个功能块写为一个函数.其实还有一种更常用的编程方式被称为面向对 ...
- WPF,Silverlight与XAML读书笔记第三十九 - 可视化效果之3D图形
原文:WPF,Silverlight与XAML读书笔记第三十九 - 可视化效果之3D图形 说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘> ...
- [Python从零到壹] 三十九.图像处理基础篇之图像几何变换(镜像仿射透视)
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- 【正点原子STM32连载】第三十九章 DS18B20数字温度传感器实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
1)实验平台:正点原子MiniPro H750开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=677017430560 3)全套实验源码+手册+视频 ...
- 初中计算机水平测试选择题,初中信息技术测试题第三十九套
原标题:初中信息技术测试题第三十九套 点击标题下「蓝色酷教」可快速关注 选择.判断题 开始客观题答题 操作题 因为微信系统无法完成操作题评分,只能熟悉流程 相关操作试题附件在后面 一.打开本题工作目录 ...
- NeHe OpenGL第三十九课:物理模拟
NeHe OpenGL第三十九课:物理模拟 物理模拟简介: 还记得高中的物理吧,直线运动,自由落体运动,弹簧.在这一课里,我们将创造这一切. 物理模拟介绍 如果你很熟悉物理规律,并且想实现它,这篇 ...
- javaweb学习总结(三十九)——数据库连接池
javaweb学习总结(三十九)--数据库连接池 一.应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10 ...
- 三十九、Java集合中的HashSet和TreeSet
@Author:Runsen @Date:2020/6/6 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...
最新文章
- python3爬虫实例-python3爬虫实例(采集淘宝商品数据)
- Android 中基本图像绘制
- 【02】把 Elasticsearch 当数据库使:过滤和排序
- RabbitMQ的5种队列_消息确认模式_入门试炼_第6篇
- Java包装类中的equals方法
- 在Windows 10上安装TensorFlow 2.2.0 RC4版
- 有哪些指标可以描述两个图(graph)的相似度?
- [Linux日记]解决Ubuntu升级出现/boot空间不足问题
- css中auto啥意思,CSS中各种auto值的作用总结
- 困惑度 | NLP中对困惑度感到困惑?
- foxmail邮箱pop3服务器,Foxmail设置POP3邮箱的操作流程
- Eclipse与SQL Server 2005 连接
- EAN13商品条码数据如何居中显示
- lv双肩包尺寸对照表_当红Monogram帆布LV双肩包尺寸究竟有多少?
- 哑变量或虚拟变量介绍(dummyvar)
- 别忽略国美之争的真正遗产
- 罗振宇2018跨年演讲
- 书画拍卖系统 php源码,网上拍卖系统,源代码
- Windows7 GNS3 模拟路由器成功PING通网外
- 输出数组中数字排名(不允许并列排名)
热门文章
- centos7 网卡配置vlan_Centos7安装后的一些基础配置
- java batik_Batik详解.pdf
- ubuntu检查端口是否开启_Ubuntu默认防火墙安装、启用、配置、端口、查看状态相关信息...
- apxs php5,安装PHP5和PHP7
- chrome 取消常用缩略图_怎么去掉 Chrome 新标签页的缩略图?
- 路由器选华硕还是tp_路由器的坑太多,就算写着“千兆”你也要当心丨618选购指南...
- 二维分类教案_大班数学二维分类教案
- 计算机组装与维修案例分析,计算机组装毕业论文
- python新建文件夹口令_Python 口令保管箱
- 简述ospf的工作原理_简述洛氏硬度计的工作原理及应用领域