博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
后台服务的变慢排查思路(轻量级应用服务器中测试)
阅读量:4118 次
发布时间:2019-05-25

本文共 513 字,大约阅读时间需要 1 分钟。

在实习时接触的是分布式系统,公司实现了一套系统的日志和性能监控架构,对问题的排查多是查异常日志调接口。近来开始熟悉Linux系统,发觉合格的程序员除了异常这个突破点,也应掌握对系统本身性能问题的诊断能力。就像医生诊断病人一样诊断服务变慢的机器,很好玩的样子。

大概整理出这样的思路:
自上而下,做系统系能分析,主要是CPU,内存和IO三大块
1.通过“top”命令查看负载情况
在这里插入图片描述
第一行load average表示:1分钟平均负载,5分钟平均负载,15分钟平均负载分别是0.02,0.10,0.09。这些值不超过50%也没有明显升高迹象。若短期均值明显高于长期则负载很重。‘
可进一步排查最耗CPU的Java线程

top -H //"-H"表示thread模式,也可配合grep更精准的定位

最后利用jstack获取线程数,对比相应ID即可。

2.内存使用

"free"命令查看内存使用情况

在这里插入图片描述

JVM的性能不接受大量swap的使用
3.IO问题

  • 网络IO
  • 磁盘IO-----"iostat"命令判断磁盘状况
    在这里插入图片描述

JVM 层面的性能分析

jstat -help命令可查看分析GC的具体流程

jstat - [-t] [-h] [ []]

转载地址:http://zfrsi.baihongyu.com/

你可能感兴趣的文章
Django——中间件设置缓存
查看>>
一个JNI的简单示例
查看>>
企业网站项目管理总结
查看>>
springmvc hibernate整合
查看>>
强化网站安全性:避免跨网站脚本攻击(XSS)
查看>>
JavaScript之循环语句
查看>>
erMaster插件
查看>>
js中的事件委托或事件代理
查看>>
如何在开放无线网络中嗅探校园网密码
查看>>
CSS中的弹性盒模型flex
查看>>
EL标签和JSTL标签---JSP页面的应用
查看>>
iOS消息推送机制的实现
查看>>
人为什么抽烟
查看>>
SpringMVC 自动封装枚举类的方法
查看>>
新买笔记本dos下硬盘分区
查看>>
嵌入到博客中的小动画flash
查看>>
我是一只IT小小鸟读后感(15软工5班-17号)
查看>>
Visual Studio 常用快捷键
查看>>
HDU 1005 Number Sequence (循环节)
查看>>
web安全威胁以及防御
查看>>