AFAIK chunking is used to avoid the pre-computation of message size to set
the "content-length" header.

On "traditional" HTTP, content-length is used to ensure the full body has
been received on the server. But this requires the client to fully create
the request message in memory. This can have impact on client that needs to
send large messages (more than 4k according to CXF behaviour)

The chunk mode allows to just send "more bytes to come" to the server, and
use small buffers on the client. The server knows it got all the body when
the chunk is set to 0.

Nicolas

2008/8/19 David Soroko <[EMAIL PROTECTED]>

> Could you provide more details regarding the "performance reasons" and
> why they are not relevant for messages smaller then 4k?
>
> thanks
>
> -- david
>
>
> -----Original Message-----
> From: Daniel Kulp [mailto:[EMAIL PROTECTED]
> Sent: 18 August 2008 19:14
> To: [email protected]
> Subject: Re: Just what is 'AllowChunking'?
>
> On Monday 18 August 2008 1:10:03 pm AmaDaden wrote:
> > Glen Mazza wrote:
> > > chunking needs to be manually turned off in those cases.
> >
> > That seems a bit odd. Shouldn't the default settings be designed to
> work
> > with the least issues? Why is chunking on by default?
>
> For performance reasons.....   Turning chunking off can reduce
> performance by
> 20-30% for messages larger than about 4K.   It also severely increased
> memory
> usage causing all kinds of scalability problems.
>
> CXF 2.1.2 (releasing today once it synced everywhere), changes things a
> little
> bit.   For messages 4K and smaller, it doesn't use chunking.   Once the
> message hits 4K, it flips to chunking mode (unless turned off).
>
>
> --
> Daniel Kulp
> [EMAIL PROTECTED]
> http://www.dankulp.com/blog
>
> ________________________________________________________________________
> In order to protect our email recipients, Betfair Group use SkyScan from
> MessageLabs to scan all Incoming and Outgoing mail for viruses.
>
> ________________________________________________________________________
>

Reply via email to