Hello Roy,

Ok, Prelimary analysis shows this:

That particular web stress tool does not seem to correctly handle Keep-Alives
with Orion. It does send a Keep-Alive header indicating that it will reuse the
socket, but it doesn't actually do this. Instead it leaves that socket hanging
while opening a new for the next request. This leads to an enormous amount of
open sockets (imagine 400 requests per second. This would mean 24000 open
sockets after one minute, and every socket consumes some memory. Eventually we
will run out of memory).

Possibly, the web-stress tool is mainly tested for IIS and depends on how IIS
handles Keep-Alives, but we are not certain about this yet.

What we do know is that Keep-Alives work with the browsers so this should not
happen in the real world. However, we are not satisfied until we can make this
behaviour go away in that stress tool either. Not until then can we be sure that
this is causing the problem.

Regards,
Karl Avedal

"Lou, Roy" wrote:

> We are having problems getting Orion to free memory. All we are using is the
> servlet subset of J2EE.  Is there something we have to do to get Orion to
> free memory ????  I thought the VM's garbage collector ran no matter what.
>
> We got a
>
> java.lang.OutOfMemoryError
>         at java.lang.Thread.start(Native Method)
>         at com.evermind.util.ThreadPool.a4(JAX, Compiled Code)
>         at com.evermind.util.ThreadPool.launch(JAX, Compiled Code)
>         at com.evermind.server.http.ds.rb(JAX, Compiled Code)
>         at com.evermind.server.http.ds.run(JAX, Compiled Code)
>
> when performing a stress test on a simple JSP.  It creates a parameter in
> the session object and then includes another HTML page.
>
> The JSP was (modified to no longer use a gif for the background)
>
> [[HelloWorld.JSP]]
>
> <%@ page info=" a hello world example" %>
> <html>
> <head><title>Hello, World</title></head>
> <body bgcolor="#ffffff" >
>
> <%@ include file="dukebanner.htm" %>
> <%
>   session.putValue("test",
> "12345678901234567890123456789012345678901234567890");
>   System.out.println("add parameter to session object");
> %>
> <table>
> <tr>
> <td width="150" > &nbsp; </td>
> <td width="250" align=right> <h1>Hello, World!</h1> </td>
> </tr>
> </table>
>
> </body>
> </html>
>
> [[end of HelloWorld.JSP]]
>
> The included file (modified to no longer include a gif) is
>
> [[DukeBanner.htm]]
>
> <table border="0" width="400" cellspacing="0" cellpadding="0">
> <tr>
> <td height="150" width="150"> &nbsp; </td>
> <td width="250" > &nbsp; </td>
> </tr>
>
> <tr>
> <td width="150" width="150"> &nbsp; </td>
> <td align="right" width="250" > <h1>Duke Replacement for easier
> debugging</h1> </td>
> </tr>
> </table>
> <br>
>
> [[ end of DukeBanner.htm]]
>
> The stress testing tool is located at (click on downloads to get to it)
>
> [[MSWAST URL]]
>
> http://webtool.rte.microsoft.com/
>
> TIA
>
> Roy Lou


Reply via email to