Hi Colin,

On 4/20/06, Colin Cullen <[EMAIL PROTECTED]> wrote:
>
> The problem has been isolated to the point where the out.write is called
> to send out the deal ticket message, and when the decoder is called for the
> inbound deal ticket ack message.  I am running with 5 filters but have tried
> disabling 3 of them (the other 2 are essential) without any change in
> performance or performance degredation.  I did note, during the course of
> the development / debug cycle, that the call stack for Mina's filter
> mechanism can get really deep, but I assumed that this is normal behavior,
> is that correct?
>

Yes, it's correct.  One filter will take about three or four calls.

I have debugged through some of Mina's code trying to understand the flow
> and possible find where things are getting slow.  It looks like the
> session's out.write is decoupled from the actual socket write by a queue
> (or queues) which naturally require synchronization.  Any pointers for me
> here as to where to look regarding my problem?
>

There's a class called 'SocketSessionManagerFilterChain' in 0.8.2.  It calls
SocketIoProcession.flushSession(IoSession) to trigger the selector loop to
wake up and flush the buffer.  You could take a look at there to find out
what's going on under the hood.

I can understand if performance is just not where I need it to be, but what
> I can't understand is that the performance starts out good but degrades as
> time goes on, this indicates a bottleneck somewhere.  I also wonder why
> latency differs so widely in my test run.  Is the outbound data sent in a
> bursty fashion?
> Do you know if the SUN NIO ByteBuffer leakage problems have been addressed
> in Java 1.5? In Mina 0.8.2?
>

Actually I never experienced this problem so far.

I'm not an expert in JProbe, but would a snapshot be of use?
>

We use YourKit Profiler, and don't have a license for JProbe unfortunately.
Is there any free viewer that shows JProbe snapshot?  Otherwise JProbe could
export the data into a HTML page (YourKit does).  Heap dump will be very
helpful to us.  If you need a quick assistance, you could send me the code
privately so I can test it by myself.

Sorry that I cannot help you enough this time, but I believe we'll be able
to fix it! :)

Trustin
--
what we call human nature is actually human habit
--
http://gleamynode.net/
--
PGP key fingerprints:
* E167 E6AF E73A CBCE EE41  4A29 544D DE48 FE95 4E7E
* B693 628E 6047 4F8F CFA4  455E 1C62 A7DC 0255 ECA6

Reply via email to