- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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. 产品模式; 开发模式和产品模式的一些参数的默认值不同,可能会对性能造成影响,下面是对性能有影响的参数列表: 通过启动管理控制台,在域(如:mydomain) 配置 常规选择产品模式。 3) 尽量开启本地I/O; 通过启动管理控制台,在域(如:mydomain) HYPERLINK /server/ \t _blank 服务器 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变为“严重
文档评论(0)