java 应用服务器 性能_性能测试-Java应用服务器分析

一:应用服务器介绍

1.主流服务器:tomcat、Apache、Jboss、Weblogic、IIS、Nginx 等

2.服务器拓扑图

browser                  web services                 数据库

client

二:分析依据

1.数据依据:操作系统性能计数器、LR报错日志、运行日志、异常堆栈、GC日志、线程快照(threaddump/javacore文件)、堆栈存储快照(headpump/horof文件)等

2.工具:JDK可视化工具、jdk命令行

三:可视化工具

1.JConsole工具

3d31da1c656e6112bd21eb72fcae08cc.png

2.jvisualvm.exe工具

67ea8cdf9ac32e78ad3dc7aa7d0228e8.png

说明:堆内存走势是锯齿状,说明内存有吃进有回收,如果是一直上升的说明没有回收,需要查看

线程是状态,等待状态的线程需要关注,正常的情况下要一直运行

关于新生代、老年代的概念

13c18c2183bfa2354e0808022284b3d7.png我是一个普通的Java对象,我出生在Eden区,在Eden区我还看到和我长的很像的小兄弟,我们在Eden区中玩了挺长时间。有一天Eden区中的人实在是太多了,我就被迫去了Survivor区的“From”区,自从去了Survivor区,我就开始漂了,有时候在Survivor的“From”区,有时候在Survivor的“To”区,居无定所。直到我18岁的时候,爸爸说我成人了,该去社会上闯闯了。于是我就去了年老代那边,年老代里,人很多,并且年龄都挺大的,我在这里也认识了很多人。在年老代里,我生活了20年(每次GC加一岁),然后被回收。

9387c2caf6ccbc75fa4dc08334a41fc6.png

四:JDK命令行工具

1.JPS:虚拟机进程状态工具

jps[option][hostid]

-q 只输出LVMID,省略主类名称;

-m 输出虚拟机进程启动时传递给主类main()函数的参数

-l输出主类的全名,如果进程致死那个的时jar包,则输出jar路劲

-v输出虚拟机进程启动时的jvm参数

77162fb2cff5285b099713c8281cf782.png

2.Jstat虚拟机统计信息监测工具

如:查看GC回收情况,每5秒钟的情况,soc幸存区S0总字节,S1C幸存区S1总字节,S0U幸存区使用的,S1U幸存区使用的,EC新生代总大小,EU新生代使用的,OC老年代总大小,OU老年代使用的字节

64b6fc799f4172a58042e8cbb42259e3.png

监测类装在、卸载数量、总空间以及类装载所消耗的时间

766a99d30baab7712894d1873508515d.png

3.Jinfo 实时查看、调整虚拟机各项参数

4.jmap命令 jmap [opyion]vmid

5.jstack是java堆栈跟踪工具,用于生成虚拟机当前时刻的线程快照jstack [opyion]vmid

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值