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
