Java高性能系统常见设计与优化解析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

©2006 iSoftStone Information Service Corporation. All rights reserved.
6
概述 Java VM 数据库 通信 应用程序
iSoftStone Information Service Corporation
2018/12/11
Replication or Cluster
Oracle RAC
Oracle10g/9i
©2006 iSoftStone Information Service Corporation. All rights reserved.
11
通信设计二
请尽量使用异步通信,可使用
iSoftStone Information Service Corporation
2018/12/11
JVM优化Hale Waihona Puke Baidu
Application Client 1

Application Client n
优先使用BEA
JRockit,而不是 使用SUN JVM JVM,使用-server 即Server版的JVM Heap Size,如-Xmx2048m,否 则很可能出现Out of Memory异常。 另外,Max Heap Size最好不要超 过物理内存的1/2
尽量降低对数据库的访问次数,
否则性能影响很大
Load Balancer Application Server Application Server
对于写操作,尽量使用批量
Replication or Cluster
(batch)写的方式,但每个事务中 的SQL不要超过500;
对于查询请使用预取(PreFetch) 使用prepare
Oracle RAC
statement,避免 DBMS对SQL重复的解析与编译 询的表最好不要超过3个
SQL不要太复杂,尤其是连表查
Oracle10g/9i
Where
in的列表最好不要超过
500个
©2006 iSoftStone Information Service Corporation. All rights reserved.
©2006 iSoftStone Information Service Corporation. All rights reserved.
3
优化原则
性能基准
内存访问比硬盘I/O访问快
优化原则
首先降低硬盘I/O访问次数,如
万倍
内存访问比网络I/O访问快
硬盘数据库访问
其次降低进程间通信I/O次数,
如果使用SUN
根据Cache需要,可调整JVM的
Load Balancer Application Server Application Server
Replication or Cluster
其他JVM选项请参见产品手册,
可输入java –help查看具体选项
Oracle RAC
Oracle10g/9i
2018/12/11
高性能系统典型体系结构
Application Client 1

Application Client n
Load Balancer Application Server Application Server
Replication or Cluster
Oracle RAC
Oracle10g/9i
用户数支持(连接复用)
使用软件负载均衡器提高系统的并发
Load Balancer Application Server Application Server
用户数支持(连接复用),如 Apache,请参见Tomcat、JBOSS等 Apache的AJP支持部分。单节点 4CPU的应用服务器可支持10,000并 发HTTP用户
百倍
网络I/O访问比硬盘I/O访问
尤其是远程进程间通信I/O次数, 如JDBC数据库访问
降低CPU和内存等资源的占用
快百倍
©2006 iSoftStone Information Service Corporation. All rights reserved.
4
概述 Java VM 数据库 通信 应用程序
Oracle10g/9i
©2006 iSoftStone Information Service Corporation. All rights reserved.
8
数据库访问
Application Client 1

使用JDBC连接池,物理连接建
Application Client n
立对性能影响很大,对于并发很 高的应用,可调高JDBC连接池 的大小,如设为192
Java高性能系统常见设计与优化
嵌入式软件事业部
iSoftStone Information Service Corporation
2018/12/11
概述 Java VM 数据库 通信 应用程序
iSoftStone Information Service Corporation
数据库设计
Application Client 1

Application Client n
数据模型设计应根据性能权衡降
低表连接数量,一般每个SQL中 最好不要超过3个表的连接,否 则性能下降很大
使用DBMS的Partition特性加快
Load Balancer Application Server Application Server
9
概述 Java VM 数据库 通信 应用程序
iSoftStone Information Service Corporation
2018/12/11
通信设计一
Application Client 1

Application Client n
使用硬件负载均衡器提高系统的并发
大数据量表的SQL操作性能,详 细信息可参见Oracle Partition部 分文档
根据SQL建立索引,索引列与
Replication or Cluster
Oracle RAC
SQL中的列要有一定的对应关系, 详细信息可参见Oracle 性能优化 部分文档
对于统计查询,可考虑使用物化
视图(Materialized Views)
相关文档
最新文档