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.

Reply via email to