web系统性能诊断利器推荐给你!

简介: web系统性能诊断利器推荐给你!

故事开始了

做web开发的朋友经常会随口说道:"不知道怎么回事,系统好卡啊!"那系统为什么会卡,哪里卡?我们要像中医一样望闻问切,分析原因。


  • 是前端代码编写不够好,代码运行效率太低?
  • 是网络速度太慢?
  • 是服务器响应太慢?
  • 到服务端以后,还分几种情况
  • 是程序算法复杂度太高,运行占用时间太长?
  • 是sql执行太慢?执行等待时间过长?

以上这些问题,如果自己去写代码统计执行效率,未免太过笨重。现在推荐一款比较好用的服务端性能监控工具javamelody

参考地址

https://github.com/javamelody/javamelody/wiki


在项目中主要配置

  • 修改web.xml



<filter>
  <filter-name>javamelody</filter-name>
  <filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
  <async-supported>true</async-supported>
  </filter>
  <filter-mapping>
  <filter-name>javamelody</filter-name>
  <url-pattern>/*</url-pattern>
  <dispatcher>REQUEST</dispatcher>
  <dispatcher>ASYNC</dispatcher>
  </filter-mapping>
  <listener>
  <listener-class>net.bull.javamelody.SessionListener</listener-class>
  </listener>


如果想监控sql执行时间请加入以下代码在web.xml中



<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>
  classpath:net/bull/javamelody/monitoring-spring-datasource.xml
  </param-value>
  </context-param>


  • 修改pom.xml增加依赖
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
  </dependency>


启动项目后访问地址


  • http://ip:port/项目名/monitoring。

分析接口瓶颈

image.png

这里显示出来每次请求的平均响应时间和最大响应时间,很容易看出来哪个接口性能比较差,再针对性的优化耗时过长的问题。


分析sql执行时间过长的问题

image.png

这里显示出来每个sql耗时过长,可以针对性进行优化。


怎么找出一个接口背后执行了哪些sql?

点击具体一个请求,如下图所示:

image.png

页面跳转如下图所示

image.png

即可看出


如果看出一个耗时过长的sql是哪个接口,方面定位在哪个地方执行了sql

点击红框如下图所示:

image.png

页面跳转

image.png

点击右下角用到的

image.png

即可展示出来


其他有用信息

image.png


  • java内存使用情况
  • 数据库连接信息
  • 线程

等等,更多请查看文档。再一次感谢开源。


相关文章
|
3月前
|
机器学习/深度学习 JavaScript 前端开发
深入探索WebAssembly:提升Web应用的性能
【10月更文挑战第15天】深入探索WebAssembly:提升Web应用的性能
90 3
|
2月前
|
缓存 JSON 监控
如何在项目中保证 Web 组件化的性能
保证 Web 组件化的性能需要从多个方面入手,综合运用各种优化方法和策略。通过持续的优化和改进,能够提高组件化的整体性能,为用户提供更好的体验,同时也有助于提高项目的开发效率和质量。
45 8
|
2月前
|
前端开发 JavaScript UED
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势
在数字化时代,Web 应用性能优化尤为重要。本文探讨了CSS与HTML在提升Web性能中的关键作用及未来趋势,包括样式表优化、DOM操作减少、图像优化等技术,并分析了电商网站的具体案例,强调了技术演进对Web性能的深远影响。
42 5
|
2月前
|
存储 消息中间件 缓存
构建互联网高性能WEB系统经验总结
如何构建一个优秀的高性能、高可靠的应用系统对每一个开发者至关重要
30 2
|
2月前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
44 2
|
2月前
|
中间件 Go API
Go语言中几种流行的Web框架,如Beego、Gin和Echo,分析了它们的特点、性能及适用场景,并讨论了如何根据项目需求、性能要求、团队经验和社区支持等因素选择最合适的框架
本文概述了Go语言中几种流行的Web框架,如Beego、Gin和Echo,分析了它们的特点、性能及适用场景,并讨论了如何根据项目需求、性能要求、团队经验和社区支持等因素选择最合适的框架。
128 1
|
2月前
|
存储 消息中间件 缓存
构建互联网高性能WEB系统经验总结
构建互联网高性能WEB系统经验总结
66 16
|
3月前
|
机器学习/深度学习 数据处理 数据库
基于Django的深度学习视频分类Web系统
基于Django的深度学习视频分类Web系统
68 4
基于Django的深度学习视频分类Web系统
|
2月前
|
负载均衡 监控 算法
论负载均衡技术在Web系统中的应用
【11月更文挑战第4天】在当今高并发的互联网环境中,负载均衡技术已经成为提升Web系统性能不可或缺的一环。通过有效地将请求分发到多个服务器上,负载均衡不仅能够提高系统的响应速度和处理能力,还能增强系统的可扩展性和稳定性。本文将结合我参与的一个实际软件项目,从项目概述、负载均衡算法原理以及实际应用三个方面,深入探讨负载均衡技术在Web系统中的应用。
111 2
|
2月前
|
机器学习/深度学习 编解码 JavaScript
探索WebAssembly:加速Web应用性能的神奇引擎
探索WebAssembly:加速Web应用性能的神奇引擎