- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java,weblgic和jdk性能文档
1.应用服务器weblogic 应用服务器是weblogic8.1 1.1 weblogic核心运行规则 WebLogic Server的核心组件由监听线程,套接字复用器和可执行线程的执行队列组成。当服务器由监听线程接收到连接请求后,将对它的连接控制权交给等待接收请求的套接字复用器。然后套接字复用器读取离开套接字的请求,并将此请求及相关安全信息或事务处理环境一起置入适当的执行队列中(一般为默认的执行队列)。 当有一个请求出现在执行队列中时,就会有一个空闲的执行线程从该队列中取走发来的该请求,并返回应答,然后等待下一次请求. (演示weblogic的监控页面) 1.1.1 演示线程监控 1.1.2 演示吞吐量,请求等待队列,内存使用和回收情况 1.2 weblogic的参数调整 调优并不是没有目标的调整.没有目标的调优是没有意义的.在一定的要求下才能有目标的调优. A,调整默认执行线程数 理想的默认执行线程数是由多方面的因素决定的,比如机器CPU性能、总线体系架构、I/O、操作系统的进程调度机制、JVM的线程调度机制。WebLogic生产环境下默认的线程为25个,随着CPU个数的增加,WebLogic可以近乎线性地提高线程数。线程数越多,花费在线程切换的时间也就越多,线程数越小,CPU可能无法得到充分利用。为获取一个理想的线程数,需要经过反复的测试。在测试中,可以以25*CPUs为基准进行调整(这是个基准,实际可能跟这个有差距的)。当空闲线程较少,CPU利用率比较低时,可以适当增加线程数的大小(每五个递增)。对于PC Server 和Window 2000,则最好每个CPU小于50个线程, 以CPU利用率为90%左右为佳。由于目前WebLogic执行线程没有缩小线程数的功能,所以应将参数Threads Increase设置为0,同时不应改变优先级的大小。 在调整线程的过程中,如果cpu利用率已经达到90%以上,就不要增加线程数目了.没有意义了.调整线程和调整程序的性能是交互进行的.这个时候只能从代码入手,降低程序对cpu的消耗和对数据库的访问,也就是降低单次访问的响应时间,然后可以重新增加线程的数量,提高并发性能.如果仍不能达到要求,就采用集群,使用负载平衡器来增加并发的响应. 吞吐量是个不太重要的参数.反映了一个请求需要服务器方面返回的数据量.请注意,吞吐量不是瓶颈的反映.一个最简单的仅仅显示1000个汉字的jsp页面,一次访问其吞吐量为2-3.数字平台的首页一次访问,吞吐量为60-80左右.除非减少页面上的内容,才可以使得单次访问的吞吐量下降.吞吐量从侧面反映了服务器构造这个页面的负荷,侧面,也就是不一定能完全反映. B, 调整连接前接受的请求数量参数.如果过小,会导致超过并发的请求直接被拒绝而不是等待. WebLogic Server用Accept Backlog参数规定服务器向操作系统请求的队列大小,默认值为50。当系统重载负荷时,这个值可能过小,日志中报Connection Refused,导致有效连接请求遭到拒绝,此时可以提高Accept Backlog 25%直到连接拒绝错误消失。Login Timeout和SSL Login Timeout参数表示普通连接和SSL连接的超时时间,如果客户连接被服务器中断或者SSL容量大,可以尝试增加该值。这些参数可以在Console Server Tuning Configration配置栏里找到。 C, 创建新的执行队列 创建新的执行队列有助于解决核心业务优先、避免交叉阻塞、死锁和长时间处理的业务等问题。通常会将自己的执行队列和默认的执行队列设置不同的优先级,这里优先级不应设为9或者10。 定义一个新的执行队列很容易,利用View Excute Queue选项中的Configure a new Excute Queue链接即可定制新的执行队列。创建新的执行队列后,用户需要为应用程序的J2EE组件配置分配策略,以便它可以找到新的队列。举个例子:要将servlet或jsp捆绑到一个特定的执行队列,必须替换web.xml文件项,将wl-dispatch-policy初始化参数设置为自己的执行队列名。 D, JDBC性能调整 在WebLogic Server中,使用池缓冲到数据库的JDBC连接可以提高应用程序的性能。连接池根除了为每个应用程序创建新的数据库连接的需要。JDBC连接池提供到您数据库的现成连接。使用连接池时,到数据库的连接的数目可以动态改变。但是,在负载高峰时期试图增加JDBC连接的数目将会使情况恶化,因为创建数据库连接是一项开销昂贵的操作。连接池还可以通过缓存用于重用的prepared statement和callab
文档评论(0)