On 01/03/2012 17:13, Filip Hanik - Dev Lists wrote:
> Mark, what buffer size are you referring to increase for the web socket
> tests to all pass?

Sorry, should have been clearer about that.

In o.a.c.websocket.MessageInbound

    // 2MB - like maxPostSize
    private int byteBufferMaxSize = 2097152;
    private int charBufferMaxSize = 2097152;

I normally multiple those by 16. The buffers need to be 16M plus a bit
for the headers so I allow a large margin ;)

Mark

> 
> Filip
> 
> On 3/1/2012 9:42 AM, Mark Thomas wrote:
>> On 01/03/2012 15:03, Filip Hanik - Dev Lists wrote:
>>>> I have a draft patch [1] that seems to fix this. A similar change would
>>>> be required for the Comet part of Poller.processKey()
>>>>
>>>> Thoughts and/or comments? Not knowing the NIO code very well, there
>>>> might be a better way to achieve the same result that I haven't seen.
>>>>
>>>> Mark
>>>>
>>>> [1]
>>>> http://people.apache.org/~markt/patches/draft/2012-03-01-trunk-nio.patch
>>>>
>>> I took a look at the patch. IMHO it's not the right way to go.
>> That doesn't surprise me. You know the NIO code better than I do.
>>
>>> You're adding in flags to compensate for the state machine in the
>>> selector.
>> Yep. On that topic, I couldn't find any decent information on the state
>> machine in the selector. Do you know of any? There was a fair amount of
>> guess work involved investigating this issue and a clearer picture of
>> the state machine would help develop a better patch.
>>
>>> And by doing so, you will have the selector run more than it needs to
>> Yep.
>>
>>> cause you have read interest turned on,
>> Yep.
>>
>>> on sockets that you are already processing,
>> Yep. Agree with you completely up to this point.
>>
>>> wasting CPU cycles.
>> This part I wasn't so sure of. There is a problem here that affects
>> WebSocket badly and Comet intermittently and fixing that problem may
>> well require the trade off of additional processing. I compared the NIO
>> blocking figures I have and the NIO non-blocking figures to see if there
>> was a noticeable performance difference.
>>
>> The patch does impact performance. Typically it is<3% but for large
>> numbers of small packets it can be as high as ~15%. On this basis my
>> patch is clearly far from ideal. I look forward to seeing what insights
>> you have on how best to solve this for both WebSocket and Comet.
>>
>> Interestingly, I don't recall anything that suggests that this problem
>> affects HTTP although it isn't impossible that there is a very slim
>> window somewhere where HTTP may be affected.
>>
>> Mark
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: dev-h...@tomcat.apache.org
>>
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to