性能优化方案--之一.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
性能优化方案--之一

方案计划 Oracle优化 Oracle是咱们存储软件,他自身的优化是决定咱们系统软件性能的根本。 相关需要优化的配置: PGA:适当大小,保证SQL高速缓存命中能在99%以上。 SGA:调整适当增加共享内存池大小,节省SQL语句分析时间,根据目前系统情况,建议500M。 OPEN_CURSOR:调整大于10000。 PROCESSES:根据需要调整,根据经验建议300。 SORT_AREA_SIZE: 建议为5M。(一般为PGA的1/20) Weblogic优化 Weblogic是咱们应用服务软件,就咱们系统来说使用Weblogic本身设置需要进行优化。 相关需要优化的配置: 内存:调整Weblogic启动所需内存,就目前情况看如果用户量大,建议1G。 连接池:根据用户量调整连接池大小,建议初始10,最大30~50,自增2。Statement Cache Size:100 自动重连:设置每10分钟自动重连,避免因为防火墙的问题导致系统崩溃。 自动回收:将Weblogic连接池高级设置中“Test Reserved Connections” “Test Created Connections” “Test Released Connections”三个勾选上 减少和服务器的交互 由于目前是大集中模式,所以使得服务器资源显得格外珍贵,所以我推荐和设计接口的时候基于如下原则: 1)减少交互次数,接口设计上尽可能抽象,将同类型业务抽象到同一个接口来,实现一次交互能完成客户端几个需求。 2)无法抽象融合的业务,实现接口颗粒变小,最快速度完成,避免造成交互的延迟。 减少和服务器的交互 例:客户端登陆动作 目前交互为: 1、通过编码获取名称。 2、校验密码。 3、通过编码获取用户其它信息。 4、通过用户获取角色 目前一次登陆动作,需要和服务器发生至少四次交互动作。100个用户同时登陆,交互次数就是400次,这样服务器压力当然大。 修改后交互直接归纳为: 1、通过编码直接获取所有信息,不存在则返回固定信息等等。 2、其它动作如密码验证等直接在客户端完成。 修改后一次交互即可。 SQL语句编写建议 SQL语句编写建议 1)少使用IN,OR等符号。 2)视图中少使用嵌套查询。 3) 不要为了图方便使用1=0的语句。 4)多使用group by 或者子查询缩小查询范围。 5)建立相关的索引,如果索引匹配少则直接使用 x=?,如果 匹配多则使用x?的写法。 6)尽可能使用preparedstatement语法,insert xxxx (a,b) values (?,?), 可以减少SQL解析时间。 7) 尽可能少使用distinct,创建临时表花费很长时间。 SQL语句编写建议 范例(查询工作流当前节点的指标单): Select distinct b_bill_id from budget_control a where a.set_year=2007 and (1=0 or exists (select 1 from vw_sys_wf_curr_task b where a.b_vou_id=b.entity_id and xxxxx)) 以上红色的地方均有问题存在,当budget_control数据量很大的时候,由于遍历造成效率非常低,进行改善后可以为: Select a.b_bill_id from (select b_bill_id,max(b_vou_id) as b_vou_id from budget_control group by b_bill_id) a ,budget_control b where a.set_year=2007 and b.set_year=2007 and a.b_vou_id = b.b_vou_id and exists (select 1 from vw_sys_wf_curr_task c where b.b_vou_id = c.entity_id and xxxxx)) 从目前实践看有几百倍效率的提升。 SQL语句编写建议 SQL监控 1、调用PLSQL的执行计划分析器“Explain plan window”,在里面可以分析具体SQL语句的执行计划,然后根据具体情况进行调优。 2、直接查询V$SQL表,表中会对当前已执行的SQL语句进行记录,其中某些关键值可以供分析,如共享内存花费Sharable_mem,执行次数Executions,总执行时间Elapsed_time等等,根据分析可以查出某些写法存在问题的S

文档评论(0)

zhuwenmeijiale + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档