javacore分析工具_揭秘银行那些常用性能监控工具及常见性能问题调优方法

a3e11465d0990943f1e456dc813330a3.gif

随着5G、大数据、人工智能、生物识别等信息技术的高速发展,传统商业银行均加快了数字化和智慧化转型步伐。开放平台应用系统作为数据化银行的核心,其性能高低不仅关系着银行的声誉,也影响着转型的进程。本文针对银行开放平台应用系统的特点,介绍了常用性能监控工具及常见性能问题调优方法,并给出了具体的应用实例,希望对测试人员性能调优能有所帮助。

一、银行开放平台应用系统特点

  开放平台应用系统泛指依托X86服务器、小型机、F5、存储等硬件设备和Linux、Unix、Windows等系统软件构建的应用系统,也泛指除IBM大型主机平台应用系统以外的所有应用系统。银行开放平台应用系统具有以下特点:一是应用系统数量多且涉及业务复杂,银行应用系统涉及客户营销、产品、渠道、运营、风控、经营管理和数据服务等业务领域;二是应用系统技术架构和软件多样化,系统中包含了PASS云平台、WebSphere、Tomcat、Oracle、Mysql、Redis、Gbase以及Kafka、Hbase、Hive等大数据平台生态圈的诸多软件,系统架构更是千差万别;三是核心系统和渠道类系统用户量或交易量大,对性能要求高;四是系统之间关联关联复杂,测试环境配置复杂且性能问题定位难度较大。

二、常用性能测试指标及监控工具

   1、常用性能指标   银行应用系统性能指标通常包含括但不限于并发用户数或TPS、响应时间、成功率、资源利用率。其中,交易量较大的系统建议重点关注TPS,交易量较小的系统建议重点关注并发用户数,响应时间取值为压力测试工具测试结果中90%用户响应时间,成功率要求为99.6%以上,应用服务器和数据库服务器CPU和内存使用率一般不超过80%。此外,可根据系统特点和测试目标酌情关注其它性能指标,如:监控类系统可关注TCP连接数、网卡流量等性能指标。常用性能指标监控工具列表1如下。 表1 常用性能指标监控工具

e0b14f6e2ebafec72709f31ecee25e3a.png

三、常见性能问题及调优方法

  性能调优是对系统软硬件各个方面的设置和关联进行调整和优化,使之发挥出最大的效能,从而高效支撑业务的开展。性能调优推荐按照“硬件-网络-系统配置参数-应用程序-系统架构”依次进行分析、调优。银行开放平台应用系统性能问题多集中在交易响应时间长、应用服务器或数据库服务器cpu利用率高、JVM内存溢出、SQL语句无相关索引或索引使用不当、日志级别设置不当、查询结果未分页、Oracle数据库未使用绑定变量、应用程序与数据库连接未使用连接池等,常见问题的具体调优方法如下。    1、CPU利用率高   CPU利用率高通常涉及应用服务器和数据库服务器,银行应用系统中应用服务器操作系统和数据库服务器以Linux和oracle为主流,本文仅以Linux和oracle为例进行说明。   Linux操作系统CPU利用率高:通过top命令查看CPU占用率高的进程,再根据进程PID查看CPU占用率高的线程ID(top -Hp 进程PID),将线程ID转换为16进制,生成javacore文件(Kill - 3 进程PID),利用16进制的线程ID在javacore文件中查看线程的详细执行信息,从而定位CPU利用率高的应用程序代码。

  Oracle数据库服务器CPU利用率高:通过top命令查看CPU占用率高的进程PID,通过进程PID定位出sql语句的sql_id(select sql_id from v$session where paddr=(select addr from v$process where spid=’XXXX’)),通过sql_id查看具体sql(select sql_text from v$sql where sql_id=’XXXX’), 再通过dbms_xplan.display_awr()与sql_id(select plan_table_out from table(dbms_xplan.display_awr(‘XXXX’)))查看语句的执行计划,进而对sql语句进行优化。

  2、JVM堆内存溢出

  堆是JVM运行时内存中最大的区域,也是和程序开发密切相关区域,所有的对象实例(包括基本类型)、数组都存放在这个区域。JVM堆内存使用量持续增长,当增长到最大堆后,将无法分配新内存,系统出现内存溢出,WebSphere堆内存溢出发生后,系统会自动生成堆内存转储headdump文件,同时SystemOut.log中会出现关键字”java.lang.OutOfMemoryError”,native_stderr.log中会出现关键字”java/lang/OutOfMemoryError”。

  内存溢出可利用HeapAnalyzer 定位占用内存大的对象(如图1所示),同时使用GC日志分析工具分析详细垃圾回收日志 (native_stderr.log),可以分析出现内存溢出的过程,确认触发内存溢出的直接原因,评估垃圾回收工作的性能,找出合适的GC策略和调优参数。

  图1 HeadDump分析

0d6de75ce0dc33d12c2dda848e06b262.png

  3、Websphere会话覆盖参数

  应用服务器为Websphere的应用系统,如采用Session方式控制用户访问,在当大量用户瞬间并发访问时,由于WebSphere会话线程不释放或释放缓慢,可能会出现请求无响应的情况。此时,可以考虑配置Websphere会话管理参数,具体登录到was控制台,进入会话管理界面(如图2所示),选中该界面中的覆盖会话管理-启动cookie,内存中最大会话量填写3000,然后点击应用。

  图2  WAS控制台会话管理界面

cc4fa1d44f8196c2e4d0f346429a78b7.png

……

点击阅读原文查看全文

1314634212e28462df10234bc7852d46.gifCONTINUE 1314634212e28462df10234bc7852d46.gif

84cc1e5f6f090cb7a6ba424a0f6ae2a0.png

推荐阅读

点击阅读☞用我这些年的经历告诉你无力吐槽的自动化现状……

点击阅读☞项目管理经验漫谈:作为测试项目负责人,这些年我的所见所得

点击阅读☞银行系统接口交易功能测试要点

点击阅读☞有梦谁都了不起,记一次难忘的银行面试经历……

点击阅读☞如何做好软件系统自动化测试?

f4a1ec021283a38acc0984e286c1ed55.gif9cd5c18f8b7fab1eb13540bc0e1c43cf.gif 24b097739e300b1e96337c0230b155a5.png爱我请给我“在看”! 9cd5c18f8b7fab1eb13540bc0e1c43cf.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值