JAVA-WEB系统问题排查闲扯

排查一些模糊的东西

  • 1.客户反馈系统慢
  • 2.系统假死了
  • 3.前面两点的排查后最终还是要落到某个点的优化(但是如何找到这个点?

遇到这类问题要做的事

  • 1.出问题首先把系统dump文件导出来(切记重启不是第一位)
perl 复制代码
1234 pid
jmap -dump:format=b,file=/var/logs/heap.hprof 1234
  • 2.有一点要注意导dump也不是万能的,也可能是别的系统影响了公用的第三方组件(例如跑不掉的数据库)
  • 3.像系统因为内存不够挂掉的提前做配置项(内存溢出的时候自动导出dump
  • 4.有了有问题的dump我们可以结合代码针对运行的线程,并再测试环境复现或者定位一些问题了。
  • 5.慢的问题需要一个一个去看了比较哪个影响的比较大;
  • 6.假死如何看系统,系统处理不过来了,为什么处理不过来了?单个系统支持的请求就那么多(线程池内能用的线程都被占用了排队等待的又不断涌入你说能不挂吗,重点关注下共性的卡顿点了)
  • 7.通过这个图我们就可以理解限流防挂的意义了吧。

问题如何发现

  • 1.提前防范只能监控告警(一般的监控系统)。
  • 2.一切都是线程池,dynamictp提供线程池级别的监控。
  • 3.因为我没做过互联网项目不知道是否每天有复盘排查慢的地方进行针对优化的
  • 4.一般情况下库的问题比较直接些。数据库和、数据库中间件都有慢sql记录的隔一段时间优化下就可以了。
  • 7.提前防范问题我们可以通过accesslog进行了,通过一定时间的访问记录我们可以知道哪些具体的业务是慢的,针对这个业务我们可以再通过arthas进行准确定位和修复。
相关推荐
wuminyu9 小时前
专家视角看Java字节码加载与存储指令机制
java·linux·c语言·jvm·c++
小码哥_常9 小时前
Spring Boot:别再重复造轮子,这些内置功能香麻了
后端
皮皮林5519 小时前
OpenFeign 首次调用卡 3 秒?八年老开发扒透 5 个坑,实战优化到 100ms!
后端
callJJ10 小时前
Spring Data Redis 两种编程模型详解:同步 vs 响应式
java·spring boot·redis·python·spring
海兰10 小时前
【第27篇】Micrometer + Zipkin
人工智能·spring boot·alibaba·spring ai
千寻girling11 小时前
《 Git 详细教程 》
前端·后端·面试
wbs_scy11 小时前
Linux线程同步与互斥(三):线程同步深度解析之POSIX 信号量与环形队列生产者消费者模型,从原理到源码彻底吃透
java·开发语言
海兰12 小时前
【第28篇】可观测性实战:LangFuse 方案详解
人工智能·spring boot·alibaba·spring ai
0xDevNull12 小时前
Linux 中 Nginx 代理 Redis 的详细教程
redis·后端
GetcharZp12 小时前
告别 Nginx 手动配置!这款 Go 语言开发的云原生网关,才是容器化时代的真香神器!
后端