`
ruilin215
  • 浏览: 1148023 次
  • 性别: Icon_minigender_2
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

Weblogic服务器性能调优【转】

 
阅读更多

(此文从7dtest中转来,虽然现在看不懂,有时间再来细细的研究一下,相信很快就会能看懂的!)


为WebLogic启动设置Java参数
调整开发与产品模式默认值。
使用WebLogic“自有的IO”性能包。
优化默认执行队列线程。
优化连接缓存。
提高JDBC连接池的性能。
设置Java编译器。
使用WebLogic集群提高性能。
监视WebLogic域。
注:在下面做的介绍都是以Weblogic8.1为例的,其它版本的Weblogic可能会有些许不同。

1) 设置JAVA参数;

a) 编辑Weblogic Server启动脚本文件;

BEA_HOME/user_projects/domains/domain-name/startWebLogic.cmd(startWebLogic.sh on Unix)

BEA_HOME/user_projects/domains/domain-name/startManagedWebLogic.cmd(startManagedWebLogic.sh on Unix)

b) 编辑set JAVA_OPTIONS命令,如:set JAVA_OPTIONS="-Xms256m —Xmx256m;

c) 保存,重启即可。

注:在WebLogic中,为了获得更好的性能,BEA公司推荐最小Java堆等于最大Java堆。

2) 开发模式vs. 产品模式;

开发模式和产品模式的一些参数的默认值不同,可能会对性能造成影响,下面是对性能有影响的参数列表:

参数
开发模式默认值
产品模式默认值

Execute Queue: Thread Count
15 threads
25 threads

JDBC Connection Pool: MaxCapacity
15 connnections
25 connections


通过启动管理控制台,在域(如:mydomain)> 配置> 常规选择产品模式。

3) 尽量开启本地I/O;

通过启动管理控制台,在域(如:mydomain)> 服务器> server实例(如:myserver)> 配置> 调整选择启用本地I/O。

注:此值也可通过手动的修改config.xml配置文件。

4) 调优执行队列线程;

a) 修改默认执行线程数

在这里,执行队列的线程数表示执行队列能够同时执行的操作的数量。但此值不是设的越大越好,应该恰到好处的去设置它,太小了,执行队列中将会积累很多待处理的任务,太大了,则会消耗大量的系统资源从而影响整体的性能。在产品模式下默认为25个执行线程。

为了设置理想的执行队列的线程数,我们可以启动管理控制台,在域(如:mydomain)> 服务器> server实例(如:myserver)> 监视> 性能中监控最大负载时执行队列的吞吐量和队列中的等待请求数,据此确定理想的数值。

理想的默认执行线程数是由多方面的因素决定的,比如机器CPU性能、总体体系架构、I/O、操作系统的进程调度机制、JVM的线程调度机制。随着CPU个 数的增加,WebLogic可以近乎线性地提高线程数。线程数越多,花费在线程切换的时间也就越多;线程数越小,CPU可能无法得到充分的利用。为获取一 个理想的线程数,需要经过反复的测试。在测试中,可以以25*CPU个数为基准进行调整。当空闲线程较少,CPU利用率较低时,可以适当增加线程数的大小 (每五个递增)。对于PC Server和Windows 2000,则最好每个CPU小于50个线程,以CPU利用率为90%左右为最佳。

通过启动管理控制台,在域(如:mydomain)> 服务器> server实例(如:myserver)> Execute Queue > weblogic.kernel.Defalt > 配置中修改线程计数。

b) 设定执行队列的溢出条件;

Weblogic Server提供给默认的执行队列或用户自定义的执行队列自定义溢出条件的功能,当满足此溢出条件时,服务器改变其状态为“警告”状态,并且额外的再分配一些线程去处理在队列中的请求,而达到降低队列长度的目的。

通过启动管理控制台,在域(如:mydomain)> 服务器> server实例(如:myserver)> Execute Queue > weblogic.kernel.Defalt > 配置下面几项:

队列长度:此值表示执行队列中可容纳的最大请求数,默认值是65536,最后不要手动改变此值。

队列长度阈值百分比:此值表示溢出条件,在此服务器指出队列溢出之前可以达到的队列长度大小的百分比。

线程数增加:当检测到溢出条件时,将增加到执行队列中的线程数量。如果CPU和内存不是足够的高,尽量不要改变默认值“0”。因为Weblogic一旦增加后不会自动缩减,虽然最终可能确实起到了降低请求的作用,但在将来的运行中将影响程序的性能。

最大线程数:为了防止创建过多的线程数量,可以通过设定最大的线程数进行控制。

在实际的应用场景中,应根据具体情况适当的调整以上参数。

c) 设定执行队列监测行为

Weblogic Server能够自动监测到当一个执行线程变为“阻塞”。变为“阻塞”状态的执行线程将无法完成当前的工作,也无法再执行新请求。如果执行队列中的所有执 行线程都变为“阻塞”状态,Weblogic server可能改变状态为“警告”或“严重”状态。如果Weblogic server变为“严重”状态,可以通过Node Manager来自动关闭此服务器并重新启动它。具体请参考:Node Manager Capabilities文档。

通过启动管理控制台,在域(如:mydomain)> 服务器> server实例(如:myserver)>配置> 调整下可配置下面几项:

阻塞线程最长时间:在此服务器将线程诊断为阻塞线程之前,线程必须连续工作的时间长度(秒)。默认情况下,WebLogic Server 认为线程在连续工作600 秒后成为阻塞线程。

阻塞线程计时器间隔:WebLogic Server 定期扫描线程以查看它们是否已经连续工作了"阻塞线程最长时间" 字段中指定的时间长度的间隔时间(秒)。默认情况下,WebLogic Server 将此时间间隔设置为600 秒。

5) 调优TCP连接缓存数;

WebLogic Server用Accept Backlog参数规定服务器向操作系统请求的队列大小,默认值为50。当系统重载负荷时,这个值可能过小,日志中报Connection Refused,导致有效连接请求遭到拒绝,此时可以提高Accept Backlog 25%直到连接拒绝错误消失。对于Portal类型的应用,默认值往往是不够的。Login Timeout和SSL Login Timeout参数表示普通连接和SSL连接的超时时间,如果客户连接被服务器中断或者SSL容量大,可以尝试增加该值。

通过启动管理控制台,在域(如:mydomain)> 服务器> server实例(如:myserver)>配置> 调整下可配置“接受预备连接”。

6) 改变Java编译器;

标准的Java编译器是javac,但编译JSP servlets速度太慢,为了提高编译速度,可以使用sj或jikes编译器取代javac编译器。下面说说更改Java编译器:

通过启动管理控制台,在域(如:mydomain)> 服务器> server实例(如:myserver)>配置> 常规下改变Java 编译器,默认为javac。输入完整路径,如:c:/visualcafe31/bin/sj.exe。然后打开高级选项,在预规划到类路径填写编译 Java 代码时为Java 编译器类路径预规划的选项,如:BEA_HOME/jdk141_02/jre/lib/rt.jar。

7) 使用Webogic Server集群提高性能;

具体关于如何配置Weblogic集群,我就不细说了。详情可参考:Introduction to WebLogic Server Clustering。

8) Weblogic EJB调优

由于EJB2.0已经很少项目在用了,EJB3.0再成熟一点,我再补充这一部分吧!

9) JDBC应用调优

JDBC Connection Pool的调优受制于WebLogic Server线程数的设置和数据库进程数,游标的大小。通常我们在一个线程中使用一个连接,所以连接数并不是越多越好,为避免两边的资源消耗,建议设置连接池的最大值等于或者略小于线程数。同时为了减少新建连接的开销,将最小值和最大值设为一致。

增加Statement Cache Size对于大量使用PreparedStatement对象的应用程序很有帮助,WebLogic能够为每一个连接缓存这些对象,此值默认为10。在保 证数据库游标大小足够的前提下,可以根据需要提高Statement Cache Size。比如当你设置连接数为25,Cache Size为10时,数据库可能需要打开25*10="250个游标。不幸的是,当遇到与PreparedStatement" Cache有关的应用程序错误时,你需要将Cache Size设置为0。

尽管JDBC Connection Pool提供了很多高级参数,在开发模式下比较有用,但大部分在生产环境下不需调整。这里建议最好不要设置测试表, 同时Test Reserved Connections和Test Released Connections也无需勾上。?当然如果你的数据库不稳定,时断时续,你就可能需要上述的参数打开。

最后提一下驱动程序类型的选择,以Oracle为例,Oracle提供thin驱动和oci驱动,从性能上来讲,oci驱动强于thin驱动,特别是大数 据量的操作。但在简单的数据库操作中,性能相差不大,随着thin驱动的不断改进,这一弱势将得到弥补。而thin驱动的移植性明显强于oci驱动。所以 在通常情况下建议使用thin驱动。而最新驱动器由于WebLogic server/bin目录下的类包可能不是最新的,请以Oracle网站为准:http://www.oracle.com/technology ... tdocs/jdbc9201.html

10) JSP调优

设置jsp-param pageCheckSeconds="-1;

设置serlet-reload-check="-1或ServletReloadCheckSecs=-1;

设置jsp-param precompile="true,关闭JSP预编译选项。

分类: 中间件技术 应用服务器 Java技术 .Net技术

分享到:
评论

相关推荐

    WebLogic Server性能调优

    WebLogic Server性能调优是针对BEA公司的应用服务器产品的一项关键任务,旨在优化服务器的运行效率,提升系统响应速度和处理能力。以下是基于提供的文件内容的详细解释: 1. **硬件,操作系统,网络调整** - **...

    weblogic性能调优(官方文档)

    《WebLogic性能调优:官方文档精粹》 在企业级应用服务器领域,WebLogic以其卓越的性能和稳定性,成为了众多企业的首选。然而,再强大的平台也需经过精心调优才能发挥其最大效能。本文基于一份来自Oracle官方的中文...

    weblogic性能调优的参数

    在WebLogic中,性能调优主要包括调整内存配置、线程池设置、JDBC连接池以及其他关键参数。以下是对标题和描述中提及的一些重要参数的详细说明: 1. **实体Bean缓存(max-beans-in-cache)**: 这个参数在`weblogic-...

    Weblogic+性能调优实战

    《Weblogic性能调优实战》一书主要针对的是在企业级应用环境中,如何有效地管理和优化Weblogic服务器的性能。Weblogic是由Oracle公司提供的一个强大的Java EE应用服务器,它为企业提供了全面的中间件服务,用于构建...

    Weblogic性能调优.ppt

    【WebLogic性能调优】 WebLogic Server是一款由BEA Systems(现已被Oracle收购)开发的企业级Java应用服务器,常用于构建、部署和管理企业级Java应用程序。本篇内容主要聚焦于WebLogic Server的性能调优,包括多个...

    Weblogic性能调优

    ### Weblogic性能调优详解 ...通过对JVM参数、I/O及网络配置、线程池大小的合理调整,结合应用程序代码优化与数据库性能提升,可以显著改善Weblogic服务器的响应速度与稳定性,从而更好地满足企业级应用的高并发需求。

    常用weblogic性能调优方法

    ### 常用WebLogic性能调优方法 在IT领域,WebLogic服务器是Oracle公司推出的一款功能强大的中间件产品,广泛应用于企业级应用系统中。然而,在实际的应用场景下,由于业务需求的变化以及硬件资源的限制,WebLogic...

    weblogic10.3性能调优

    在IT领域,尤其是在企业级应用服务器的管理与优化中,WebLogic Server的性能调优是一项至关重要的技能。根据给定的文件信息,我们将深入探讨如何针对WebLogic 10.3进行性能优化,涵盖JVM调整、核心参数调整以及Java ...

    weblogic性能调优

    WebLogic Server性能调优是一个复杂而关键的过程,旨在优化服务器的运行效率,提高应用程序的响应速度,以及确保系统的稳定性和可扩展性。以下是对标题和描述中涉及的几个主要知识点的详细说明: 1. **硬件、操作...

    WEB服务器性能调优

    在IT行业中,Web服务器性能调优是至关重要的,它直接影响着网站的响应速度、稳定性和用户体验。本压缩包文件集中了多个文档,专门探讨了针对WebLogic和Tomcat这两个广泛应用的Java Web服务器的性能优化策略。 首先...

    AIX服务器weblogic性能调优

    在本文中,我们将深入探讨如何对运行在AIX服务器上的WebLogic应用服务器进行性能调优,以解决加载页面慢的问题。WebLogic是一个流行的Java应用程序服务器,而AIX是一种基于UNIX的操作系统,通常用于企业级服务器环境...

    WebLogic_Server性能调优

    WebLogic_Server性能调优 WebLogic_Server性能调优是指对WebLogic Server进行调整和优化,以提高其性能和效率。以下是WebLogic_Server性能调优的一些关键点: J2EE 应用程序体系结构 在J2EE应用程序中,存在着多...

    weblogic性能调优.ppt

    WebLogic 性能调优 WebLogic Server 是一个基于 Java 的应用服务器,它提供了强大的功能来构建企业级的 Web 应用程序。然而,在实际应用中,WebLogic Server 的性能往往受到多种因素的影响,例如硬件、操作系统、...

    WebLogic Server 10 + 性能调优

    WebLogic Server 10是该产品线的一个重要版本,而性能调优是确保应用服务器能够高效、稳定运行的关键步骤。本文将详细介绍WebLogic Server 10的性能调优方法,涉及内核调优、Web应用程序调优、JDBC调优、EJB/MDB调优...

    WebLogic Server 8性能调优

    WebLogic Server 8.1 性能调优是一项关键任务,旨在提高应用程序的运行效率,减少资源消耗,并确保系统的稳定性和可扩展性。在进行性能调优时,我们需要关注几个核心方面,包括理解性能目标、调整操作系统、优化...

    weblogic监控 weblogic调优 weblogic版本区别 weblogic启动关闭脚本

    理解并掌握WebLogic的监控、调优、版本差异以及启动关闭脚本的使用是确保WebLogic服务器稳定运行的关键。监控有助于发现潜在问题,调优可以提升系统性能,了解版本差异可以帮助做出合适的选择,而正确使用启动关闭...

    java,weblogic和jdk性能调优文档

    1. **WebLogic应用服务器性能调优** - **WebLogic核心运行规则**:WebLogic Server的核心包括监听线程、套接字复用器和执行队列。监听线程接收连接请求,套接字复用器处理请求并将其放入执行队列,由空闲执行线程...

Global site tag (gtag.js) - Google Analytics