Hi, On 17 Dec 2011, at 11:05, Antonio Rodriges wrote:
> Hello, Zigor, > > It is interesting to know the end of the story :) The story never ends! Just kidding... > We also have application on Mina2.0.4 > in the latest test we reached almost 100 Mbit output from a single > server on 1GBit network We transfer about 40KBytes per query and have > about 90 000 queries processed in 5 minutes However to execute the > query some data must be read from disk, so maybe that speed is ok Well, I have been using Mina to build an (experimental) publish/subscribe subscribe system. I have been measuring communication metrics (latency and throughput) with varying degrees of traffic and overall workload... You have to take into account that my numbers focus in the performance of our system under load (which I increase progressively in order to bring it down to its knees). Therefore, I'm not completely sure about the relevancy of my data for prospective Mina users. Anyway, the messages I exchange are pretty small (200-300 bytes) and they contain JSON text that is transported by the TextLineCodec over TCP. The system has been benchmarked in a cluster we have at our university, with pretty powerful machines over a very effective Cisco Gigabit switch. After several tweaks and corrections, the system manages to transfer up to 30K events from the client to the server and back. So that's some 60K * 250 = 15.000.000 bytes/sec or 14.3 MBytes/sec. That's with no background traffic and in "ideal" conditions from the point of view of the publish/subscribe application. Taking into account that I have the TCP "nodelay" flag enabled (which is not the best idea if you want to achieve high throughput) and that my messages are very small, I'm happy with the performance. BTW, adding an ExecutorFilter to the chain helped spread load over the many cores of the machines, as my application is pretty CPU bound. Zigor.