您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > Java系统性能测试监控及分析
Java系统性能测试监控及分析总述:附件中包含《LoadRunner11-中文教程》,各个模块都有详细的讲解。在使用LoadRunner对系统进行压力测试过程中,我们主要对服务器的CPU、内存、JVM(内存、线程)、IO、网络、数据库进行监控,以进行性能瓶颈分析。附件包中附带了相应监控工具。1CPU监控分析1.1监控工具1.1.1Linux系统自带top命令:$top图中是top命令的结果参数,Cpu(s):21.6%us表示当前系统cpu总体使用率,蓝色方框标注的%CPU表示当前进程消耗的CPU量,100%表示消耗1CPU,385.6%表示消耗接近4CPU。1.1.2nmon监控如果需要出具具体CPU使用图表,使用nmon工具,参照工具包中的详细使用说明。1.2分析及解决如果CPU使用率不到90%,而且系统TPS已达到最高,说明CPU不是性能瓶颈。如果CPU总体使用率接近100%,考虑是否增加CPU提高系统性能。2内存监控分析2.1监控工具2.1.1Linux系统自带top命令:$top图中可看到,Mem:行中,总共有16GB内存,使用了接近16GB内存,只有一百多KB是剩余内存,这是Linux自动管理的内存机制问题,Linux会尽量使用cache,将内存划分到给缓存。只需关注蓝色方框中的单进程java占MEM的比率为14.5%,算法为(2GBJVM划分内存/16GB总内存大小),而事实上当前jvm的-xms参数也是设置的2GB。2.1.2使用JDK自带的jvisualvm.exe工具监控JVM内存使用情况需要在服务器中添加jvm参数-Djavax.management.builder.initial=-Dcom.sun.management.jmxremote-Dcom.sun.management.jmxremote.port=40124-Dcom.sun.management.jmxremote.ssl=false-Dcom.sun.management.jmxremote.authenticate=false启动JMX监控。然后客户端通过jvisualvm添加JMX链接2.1.3nmon监控如果需要出具具体CPU使用图表,使用nmon工具,参照工具包中的详细使用说明。2.2分析及解决调整jvm参数,如果jvm内存需求远大于物理机内存,提高硬件水平。目前我们系统2GB内存基本够用。3JVM监控分析3.1参考2.1.2打开jvisualvm监控JVM内存使用情况3.2也可以切换到Threads监控JVM内启动的线程及其状态检查线程锁(线程条大量出现如右下角红色标记图示的颜色),如果发现存在线程锁,可点击ThreadDump分析具体是哪段儿应用程序引起的。4IO监控分析4.1监控当在服务器大量进行读写操作,socket创建链接时,可能会出现IO消耗的瓶颈,可用nmon工具进行监控。4.2解决办法优化程序、更换IO性能更好的磁盘5网络监控分析5.1监控工具5.1.1LoadRunner吞吐量视图5.2nmon监控如果需要出具具体CPU使用图表,使用nmon工具,参照工具包中的详细使用说明。5.3测试及分析5.3.1测试由于监控的只是实际应用发生的网络吞吐量,并不确定是否网络环境是否限制了多大的吞吐量,需测试客户端与服务器之间的通讯速度,附件包附带了iperf网络测试工具,解压执行就可以。./iperf--help可查看参数用法5.3.2分析需要注意的是,iperf测试的宽带速度单位为Mbits/s,而吞吐量监控的单位是MByte/s,需Mbits/s÷8换算成MB/s才能比较。如果iperf测试结果与实际吞吐量相近,说明网络存在瓶颈。5.4解决办法5.4.1改换宽带环境5.4.2更换性能更高的网卡6ORACLE数据库监控分析6.1监控6.1.1nmon监控使用nmon监控数据库资源使用情况(基本上不会是硬件配置不够)6.1.2AWR报告生成Oracle10g以上增加了AutomaticWorkloadRepository-自动负载信息库,可用sysdba登陆sqlplus,执行altersystemflushshared_pool;--清理缓存execdbms_workload_repository.create_snapshot;--AWR快照收集execdbms_workload_repository.create_snapshot;--AWR快照收集,与上一次收集间隔3分钟左右@?/rdbms/admin/awrrpt.sql--通过两次收集的AWR报告信息,生成AWR报告6.2分析关于AWR报告的分析目前还很基础,有兴趣的同事可网上查找分析资料。也可将AWR交给熟悉ORACLE产品的专家分析。6.3优化方法6.3.1删除冗余的sql索引oracle维护索引成本太高6.3.2将程序中的硬解析sql改成软解析(带?+参数)方式操作6.3.3创建多个表空间数据文件,可是数据库并行维护操作日志6.3.4集群环境查看节点之间网络是否私有网络(共有网络会造成通讯等待)。
本文标题:Java系统性能测试监控及分析
链接地址:https://www.777doc.com/doc-2881364 .html