性能测试-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工具

性能测试-Java应用服务器分析_第1张图片

2.jvisualvm.exe工具

性能测试-Java应用服务器分析_第2张图片

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

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

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

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

性能测试-Java应用服务器分析_第4张图片

四:JDK命令行工具

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

jps[option][hostid]

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

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

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

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


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

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

性能测试-Java应用服务器分析_第5张图片

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

性能测试-Java应用服务器分析_第6张图片

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

4.jmap命令 jmap [opyion]vmid

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


你可能感兴趣的:(性能测试-loadrunner)