Java高性能系统常见的设计与优化-精品文档

上传人:痛*** 文档编号:243942733 上传时间:2024-10-01 格式:PPT 页数:17 大小:2.33MB
返回 下载 相关 举报
Java高性能系统常见的设计与优化-精品文档_第1页
第1页 / 共17页
Java高性能系统常见的设计与优化-精品文档_第2页
第2页 / 共17页
Java高性能系统常见的设计与优化-精品文档_第3页
第3页 / 共17页
点击查看更多>>
资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,11/7/2009,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Java高性能系统常见的设计与优化-精品文档,Java高性能系统常见的设计与优化-精品文档,概述,Java VM,应用程序,通信,数据库,10/1/2024,iSoftStone Information Service Corporation,概述Java VM应用程序通信数据库9/21/2022iSo,高性能系统典型体系结构,3,2019 iSoftStone Information Service Corporation.All rights reserved.,高性能系统典型体系结构52019 iSoftStone I,优化原则,内存访问比硬盘I/O访问快万倍,内存访问比网络I/O访问快百倍,网络I/O访问比硬盘I/O访问快百倍,性能基准,首先,降低硬盘I/O访问次数,如硬盘数据库访问,其次,降低进程间通信I/O次数,尤其是远程进程间通信I/O次数,如JDBC数据库访问,降低CPU和内存等资源的占用,优化原则,4,2019 iSoftStone Information Service Corporation.All rights reserved.,优化原则内存访问比硬盘I/O访问快万倍性能基准首先降低硬盘I,概述,Java VM,应用程序,通信,数据库,10/1/2024,iSoftStone Information Service Corporation,概述Java VM应用程序通信数据库9/21/2022iSo,JVM优化,优先使用,BEA JRockit,,而不是使用SUN JVM,如果使用SUN JVM,使用,-server,即Server版的JVM,根据Cache需要,可调整JVM的Heap Size,如,-Xmx2048m,,否则很可能出现Out of Memory异常。另外,Max Heap Size最好不要超过物理内存的1/2,其他JVM选项请参见产品手册,可输入java help查看具体选项,6,2019 iSoftStone Information Service Corporation.All rights reserved.,JVM优化优先使用BEA JRockit,而不是使用SUN,概述,Java VM,应用程序,通信,数据库,10/1/2024,iSoftStone Information Service Corporation,概述Java VM应用程序通信数据库9/21/2022iSo,数据库设计,数据模型设计应根据性能权衡降低表连接数量,一般,每个SQL中最好不要超过3个表的连接,,否则性能下降很大,使用DBMS的,Partition特性,加快大数据量表的SQL操作性能,详细信息可参见Oracle Partition部分文档,根据SQL,建立索引,,索引列与SQL中的列要有一定的对应关系,详细信息可参见Oracle 性能优化部分文档,对于统计查询,可考虑使用,物化视图(Materialized Views),8,2019 iSoftStone Information Service Corporation.All rights reserved.,数据库设计数据模型设计应根据性能权衡降低表连接数量,一般每个,数据库访问,使用,JDBC连接池,,物理连接建立对性能影响很大,对于并发很高的应用,,可调高JDBC连接池的大小,,如设为192,尽量降低对数据库的访问次数,,否则性能影响很大,对于写操作,尽量使用,批量(batch)写,的方式,但每个事务中的SQL不要超过500;,对于查询请使用,预取(PreFetch),使用,prepare statement,,避免DBMS对SQL重复的解析与编译,SQL不要太复杂,尤其是连表查询的表最好不要超过3个,Where in的列表最好不要超过500个,9,2019 iSoftStone Information Service Corporation.All rights reserved.,数据库访问使用JDBC连接池,物理连接建立对性能影响很大,对,概述,Java VM,应用程序,通信,数据库,10/1/2024,iSoftStone Information Service Corporation,概述Java VM应用程序通信数据库9/21/2022iSo,通信设计一,使用硬件负载均衡器提高系统的并发用户数支持(连接复用),使用软件,负载均衡器,提高系统的并发用户数支持(连接复用),如Apache,请参见Tomcat、JBOSS等Apache的AJP支持部分。单节点4CPU的应用服务器可支持10,000并发HTTP用户,11,2019 iSoftStone Information Service Corporation.All rights reserved.,通信设计一使用硬件负载均衡器提高系统的并发用户数支持(连接复,通信设计二,请尽量使用异步通信,,可使用,ActiveMQ,消息中间件,如果基于Socket开发,请使用,异步I/O,,比同步I/O一般快2倍,Apache即基于异步I/O实现,远程通信可考虑RMI,性能往往比基于XML较好,如果是基于XML的消息包,请使用个,SAX或StAX接口,,请不要使用DOM,如果使用SOAP,请使用开源库,XFire,,一般来说其性能是Apache Axis的3倍以上,并MyEclipse直接支持XFire;,请尽量降低远程进程间通信次数,在降低远程进程间通信次数的同时降低消息包的大小,12,2019 iSoftStone Information Service Corporation.All rights reserved.,通信设计二请尽量使用异步通信,可使用ActiveMQ消息中间,概述,Java VM,应用程序,通信,数据库,10/1/2024,iSoftStone Information Service Corporation,概述Java VM应用程序通信数据库9/21/2022iSo,应用程序优化一,如果需要使用,线程池,,请使用JDK1.5的java.util.concurrent包中的ThreadPoolExecutor,多线程同步,也可使用java.util.concurrent.locks和java.util.concurrent.atomic中的封装,如果并发的定时调度任务很多,请使用,开源库Quartz,,可支持上万个定时任务,使用,Cache,大幅降低I/O访问次数,可基于开源库OSCache或JDK1.5的java.util.concurrent包中的ConcurrentHashMap来封装,对于高级的大数据量实时处理,可使用,Oracle TimesTen内存数据库技术,14,2019 iSoftStone Information Service Corporation.All rights reserved.,应用程序优化一如果需要使用线程池,请使用JDK1.5的jav,应用程序优化二,中间层请,尽量是stateless方式,,而不是stateful方式,降低session状态数据的cluster复制,需要熟悉java.util包中的各种数据结构的适用场景,,如HashMap适用于单记录的快速操作等,避免使用Entity EJB和stateful EJB,尽量避免分布式事务,而是使用本地事务,尽量降低负载均衡时节点间的数据复制,15,2019 iSoftStone Information Service Corporation.All rights reserved.,应用程序优化二中间层请尽量是stateless方式,而不是s,Lets Innovate Together,谢谢!,10/1/2024,iSoftStone Information Service Corporation,Lets Innovate Together9/21/20,感谢聆听,感谢聆听,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!