系统优化实例一则
导读:本文共10837字符,通常情况下阅读需要36分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: ...
目录
(为您整理了一些要点),点击可以直达。为了便于理解,系统的结构还是需要略微简单的介绍一下的。
1. IBM Webseal负责负载均衡两条不同数据中心的服务器和粘性会话。
2. IBM WebSphere Application Server:部署在不同的数据中心,每个数据中心有两个逻辑服务器,一个负责逻辑显示层,一个负责业务逻辑层。然后每一个逻辑服务器下面有两个实例。这样总共构成了两条线的逻辑服务器,每条线有4个实例。
3. IBMDB2作为数据库。
4.整个程序是建立在JavaEE上面的。界面是用部门内部开发的WComponent(在GitHub上可以找到)来做的。逻辑层混合了Spring + EJB + MDB,持久层使用的是Hibernate+动态SQL +数据库触发器。
当阅读了系统的框架文档后,并且做了系统的压力测试后,发现有五个方面存在一些性能上的问题。
1.系统结构
2.数据库
3.中间件设置
4.系统程序
5.业务要求的不合理性
<div align="left" font-size:14px;white-space:normal;background-color:#dfdfdf;"=""> 基本上这个列表里面几乎包括了这个系统的所有的东西。这里我来简单介绍一下某些特定的问题和一些解决方案:
1.系统结构
大概有8个外部系统与这个有问题的系统通过企业服务总线(Enterprise Service Bus or ESB)用JMS进行数据交换。JMS是以soap信息标准来实现的。其中有两个系统是整个部门的核心系统。系统A是一个IBM主机系统,已经有不少的年头了。系统A通过三种方式来传输JMS数据给问题系统:程序本身,服务转换,以及数据库触发器。系统A大概每秒钟传输25条JMS到问题系统。系统B是一个客户记录系统,大概每秒钟产生15条JMS传输到问题系统。通过数据分析发现以下问题:
<div align="left" font-size:14px;white-space:normal;background-color:#dfdfdf;"="">
· 由于系统A/B的设计问题,大量重复JMS被发送到问题系统进行处理。