快速业务通道

Weblogic session persistence的性能的问题 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21

Weblogic session persistence的性能的问题

时间:2011-01-11 BlogJava 走走停停又三年

在weblogic中,sesion persitence有如下几种方式:

memory—Disables persistent session storage.

file—Uses file-based persistence (See also PersistentStoreDir, above).

jdbc—Uses a database to store persistent sessions. (see also PersistentStorePool, above).

replicated—Same as memory, but session data is replicated across the clustered servers.

cookie—All session data is stored in a cookie in the user''s browser.

replicated_if_clustered—If the Web application is deployed on a clustered server, the in-effect PersistentStoreType will be replicated. Otherwise, memory is the default.

本文讨论的重点是持久化导致的性能问题,故只讨论JDBC和File两种方式,其余的不做讨论,Session相关的Params,请参考如下链接,

http://e-docs.bea.com/wls/docs81/webapp/weblogic_xml.html#1038173

首先说一下File persistence, 要使http session被写入到指定f目录下的file中,需要在/WEB-INF/weblogic.xml做如下配置:

weblogic.xml <session-param> <param-name>PersistentStoreType</param-name> <param-value>file</param-value> </session-param> <session-param> <param-name>PersistentStoreDir</param-name> <param-value>d:\session_test</param-value> </session-param> <session-param> <param-name>CacheSize</param-name> <param-value>10</param-value> </session-param> </session-descriptor>

测试我们使用weblogic自带的mainWebApp, 该web app位于类似如下的位置

D:\beasys\wls816\weblogic81\samples\server\examples\build

测试前,按上面的写法修改weblogic.xml, 然后修改index.jsp, 去掉头部的如下内容:

<%@ page session="false" %>

并修改其内容如下:

1 <%@ page import="java.util.ArrayList" %> 2    3 <% 4   String url = "http://" + request.getServerName() + ":" + request.getServerPort(); 5   session.setAttribute("key", "value"); 6   ArrayList list = new ArrayList(); 7     for(int loop = 0; loop < 100000; loop++) 8     { 9             list.add("test" + loop); 10     } 11     session.setAttribute("list", list); 12 %>

Weblogic session persistence的性能的问题(2)

时间:2011-01-11 BlogJava 走走停停又三年

上面的代码中,我往每个session里插入12M左右的数据,结果跟客户说的一样,这种性能会死人的,如果做4个并发的话,差不多需要5分钟以上。就这性能,我反正是快崩溃了,做了一下thread dump

Title

"ExecuteThread: ''10'' for queue: ''weblogic.kernel.Default''" daemon prio=5 tid=0x032d9208 nid=0xd78 waiting for monitor entry [0x03a2f000..0x03a2fd68] at weblogic.servlet.internal.session.FileSessionContext.loadSession(FileSessionContext.java:482) - waiting to lock <0x159a82a8> (a java.lang.Object) at weblogic.servlet.internal.session.FileSessionContext.getSessionInternal(FileSessionContext.j

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号