文档详情

weblogic性能调优.doc

发布:2017-08-28约2.91万字共13页下载文档
文本预览下载声明
WebLogic Server 性能调优 作者:Arunabh Hazarika, Srikant Subramaniam 任何在市场上成功的产品都拥有良好的性能。虽然成为象WebLogic Server这样广泛使用的产品需要具备很多特性,但性能绝对是必不可少的。 良好的编程习惯在帮助应用运行方面起了很大的作用,但是仅有它们还是不够的。应用服务器必须能够在多种硬件和操作系统之间移植,必须具备通用性以便处理范围更广的应用类型。这就是为什么应用服务器都提供了丰富的调试“按钮”的原因,通过调整这些“按钮”,能够使服务器更适合运行环境以及应用程序。 本文针对WebLogic讨论了其中的某些调试参数,不过并未将所有可调整的属性全部列出。此外,在将此处推荐的方法运用到产品环境之前,建议您先在测试环境中对它们测试一番。 性能监控及瓶颈发现 性能调试的第一步是孤立“危险区域”。性能瓶颈可以存在于整个系统的任一部分?D?D网络、数据库、客户端或应用服务器。重要的是首先确定哪个系统组件引起了性能问题,调试错了组件可能会使情况更糟。 WebLogic Server为系统管理员提供了管理控制台和命令行工具两种方式监控系统性能。服务器端有叫作mbean的集合,用于搜集诸如线程消耗情况、资源剩余情况、缓存使用情况等信息。控制台和命令行管理器都可以从服务器将这些信息调用出来。图1的屏幕快照就显示了EJB容器中缓存的使用和剩余情况,这是控制台提供的性能监控的选项之一。 代码分析器也是应用代码用以探测自身性能瓶颈的另一种有效的工具。有几个很好的代码分析器,如:Wily Introscope, Jprobe, Optimizelt。 EJBName Idle Beans Count Beans In Use Count Waiter Total Count Timeout Total Count Cached Beans Current Count Cache Access Count Cache Hit Count Activation Count Passivation Count OrderEnt 188 6923 0 0 2000 163186 101005 84476 123618 OrderCustomerEnt 16 1000 0 0 1000 36042 0 0 10926 OrderLineEnt 44 1034 0 0 1000 562590 562590 235086 369863 ItemEnt 30 563 0 0 549 548190 365460 549 0 OrderCustomerEnt 14 1000 0 0 1000 34462 0 0 10471 OrderEnt 130 6544 0 0 2000 154985 96312 80588 118189 ItemEnt 18 545 0 0 535 525375 350250 535 0 OrderLineEnt 43 1033 0 0 1000 538419 538419 225627 355307 图1. 采用管理控制台监控系统性能 EJB 容器 EJB容器中最昂贵的操作当然是数据库调用?D?D装载和存储实体bean。容器也因此提供了各种各样的参数以便减少数据库的访问次数。但不管怎样,除非是在特殊情况下,否则在每个bean的每次交易中,至少都得有一次装载操作和一次存储操作。这些特殊情况是: 1. Bean是只读的。此时,bean只需在第一次访问时装载一次,从来不需要存储操作。当然,如果超出参数read-timeout-seconds的设置,bean将被再次装载。 2. Bean 有专门的或积极的并发策略,且参数db-is-shared 设置为假。此参数在WebLogic Server 7.0中被重新命名为cache-between-transactions。参数db-is-shared 设置为假相当于参数cache-between-transactions设置为真。 3. Bean在交易中未被修改过,此时,容器会将存储操作优化掉。 如果不属于上述任何一种情况,则code path中的每个实体bean在每次交易时,至少会被装载和存储一次。有些特征能够减少数据库的调用或者降低数据库调用的开销,如:高速缓存技术、域(field)分组、并发策略以及紧密关
显示全部
相似文档