Java性能优化要点

来源:互联网 发布:省委和省政府 知乎 编辑:程序博客网 时间:2024/06/01 14:26

        我们以前做的系统是一个类似信息总线的系统,主要包括通讯交互、报文转换、服务发布、服务路由、服务组合等功能,采用Java实现。最开始的性能很差,服务器采用IBM-670,8C8G的配置,在1个并发的场景下,平均响应时间为150-160毫秒。在10个并发的场景下,CPU已经占用100%,TPS才10笔/秒。通过一系列代码优化之后,性能有了显著提升。服务器采用IBM-670,8C16G的配置,记流水最高TPS达到525笔/秒,不记录流水最高TPS达到935笔/秒。

        在性能优化过程中,既有技术方面的优化,也有应用逻辑方面的优化。技术方面的优化要点如下:

1、将一些对象的深度复制、clone改为引用复制。

2、将不需要改变的变量声明为static。

3、增加数据库连接池,对数据库连接池增加Statement缓存。

4、增加数据库索引。

5、报文数据缓存。

6、对JDK提供的EBCDIC转码进行重写。

7、进行缓存,包括:报文和字段转换模式、环境变量、JDBC驱动。

8、对日志动态级别调整模块的日志级别判断进行优化,提供开关功能,在关闭的情况下,不进行多余的遍历和判断。生产上默认该功能关闭。

9、减少对String.toLowerCase调用。

10、减少数据区对象的创建。

11、将XML报文转换程序中的factory变量改为静态单例对象。

12、减少StringBuffer的创建和append调用。

原创粉丝点击