WEB开发网
开发学院软件开发Java Weblogic session persistence的性能的问题 阅读

Weblogic session persistence的性能的问题

 2009-09-22 00:00:00 来源:WEB开发网   
核心提示: 测试我们使用weblogic自带的mainWebApp, 该web app位于类似如下的位置D:\beasys\wls816\weblogic81\samples\server\examples\build测试前,按上面的写法修改weblogic.xml,Weblogic session per

测试我们使用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 %>

上面的代码中,我往每个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.java:626)
 at weblogic.servlet.internal.ServletRequestImpl.getValidSession(ServletRequestImpl.java:2639)
 at weblogic.servlet.internal.ServletRequestImpl.getSession(ServletRequestImpl.java:2251)
 - locked <0x29b68f58> (a java.lang.Object)
 at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3752)
 at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2773)
 at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
 at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
"ExecuteThread: '9' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0x032d85e0 nid=0x10c0 waiting for monitor entry [0x039ef000..0x039efd68]
 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.java:626)
 at weblogic.servlet.internal.ServletRequestImpl.getValidSession(ServletRequestImpl.java:2639)
 at weblogic.servlet.internal.ServletRequestImpl.getSession(ServletRequestImpl.java:2251)
 - locked <0x13d804f0> (a java.lang.Object)
 at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3752)
 at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2773)
 at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
 at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
"ExecuteThread: '8' for queue: 'weblogic.kernel.Default'" daemon prio=5 tid=0x032d79b8 nid=0x12cc runnable [0x039af000..0x039afd68]
 at java.io.FileOutputStream.write(Native Method)
 at java.io.DataOutputStream.write(DataOutputStream.java:66)
 - locked <0x10b2bf28> (a java.io.DataOutputStream)
 at java.io.FilterOutputStream.write(FilterOutputStream.java:60)
 ......
 at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
 at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
 at weblogic.servlet.internal.session.FileSessionContext.sync(FileSessionContext.java:368)
 - locked <0x159a82a8> (a java.lang.Object)
 - locked <0x1f9cab60> (a weblogic.servlet.internal.session.FileSessionData)

上一页  1 2 3 4 5  下一页

Tags:Weblogic session persistence

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接