Hi Emmanuel,

I'm a little bit puzzled but some of the results I get. First of all, we are
using MINA-1.0.1, with different JVM (JRockit, IBM, Sun) on different
platforms (Linux, Mac OSx).

The published results are on Linux? What kernel are you using?

I also made some tests with MINA and on the *same* hardware with
*different* Operating Systems I got different results. Tested on Linux
kernel 2.4, Linux kernel 2.6 and Solaris. My server responds with a
lot of small packet to the client request. This approach on kernel 2.6
seems that is 4.5X slower than on kernel 2.4 or Solaris. Traced with
strace it seems that the kernels is descheduling  my server
application: the same sized packet sometimes takes a *lot* more time
to send (time spent in system call "write") then normal.

This 4.5X seems like a constant :-) Does not mater if the application
is in C or C++ or Java using MINA. The only way to overcome the 2.6
kernel bad behavior is to buffer all the small packets and send it
onces. This is why I asked on the mailing list a few weeks ago the
question how is this possible in MINA. No punishment from the 2.6
kernel if I am using OutputStreamBuffer, but this is not possible in
MINA. I would like to see something like this in MINA. Is it possible?

Regards,
Csaba

Reply via email to