You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Willem Jiang <ni...@iona.com> on 2007/01/09 08:24:36 UTC

How does Jetty deal with large size request

Hi,

I am working on CXF http transport with Jetty6 , we want to take the 
advantage of Jetty6 for asyc http supporting.
But when I did the performance test which the server side used the Jetty 
6.1.0 SelectConnector on Linux box to receive the large size request 
messages (60K~150K), I found my client would get the response with http 
states code 500 after  a short term running.
After several round of large request message pressure tests, I found 
that Jetty caches the large request message as the tmp files in /tmp , 
and it will not clean up the tmp files until the server process exit.The 
Server will return the 500 states code response to client when the 
server side tmp directory free space is empty.

Here are my questions :
1. Why dose Jetty cache the large request messages as the tmp files?
2. If caching tmp file is need,  why not Jetty clean up the tmp request 
message files when they are not useful to Jetty?
3. How can I turn off caching the large request message as tmp file in 
Jetty's configuration.

Thanks,

Willem.

Re: How does Jetty deal with large size request

Posted by Willem Jiang <ni...@iona.com>.
Hi,

I finally found the temp files were created by CXF's 
AbstractCachedOutputStream, which will create temp file for the larger 
than 60K message and set temp file to be deleted when JVM exit.
I had changed the code in my trunk to let the temp file to be  deleted 
when the OutputStream is closed.

Now I can do the performance test again.

Cheers,

Willem.


Willem Jiang wrote:

> Hi,
>
> I am working on CXF http transport with Jetty6 , we want to take the 
> advantage of Jetty6 for asyc http supporting.
> But when I did the performance test which the server side used the 
> Jetty 6.1.0 SelectConnector on Linux box to receive the large size 
> request messages (60K~150K), I found my client would get the response 
> with http states code 500 after  a short term running.
> After several round of large request message pressure tests, I found 
> that Jetty caches the large request message as the tmp files in /tmp , 
> and it will not clean up the tmp files until the server process 
> exit.The Server will return the 500 states code response to client 
> when the server side tmp directory free space is empty.
>
> Here are my questions :
> 1. Why dose Jetty cache the large request messages as the tmp files?
> 2. If caching tmp file is need,  why not Jetty clean up the tmp 
> request message files when they are not useful to Jetty?
> 3. How can I turn off caching the large request message as tmp file in 
> Jetty's configuration.
>
> Thanks,
>
> Willem.
>