Hi!!, I'm Pablo Palazón and I'm developing network server and I use
Apache MINA for server/client connection.

This program need listen all messages from many clients. Messages are
register and send to another server. There are rules that redelivery
messages to another server when the program see the message's content.

I don't need establish communication between client and server, client
only send message and he forget and don't need any response. 

Gateway (Client) -> Router (Server/Client) -> Manager (Another Server)

Gateway send message and forget, and router need to redelivery to
another manager and forget too. 

This program is like a content-based router. The first problem is that I
can't read more than 1000 messages/s. I used MINA like a client (I
produce and send messages) and like a server. The gateway produce
messages and send it to Router, but this is collapse (memory overflow)
before Router. 

I suppose that the client don't send another messages until server can
receive, and client produce the message and stay in memory until it can
send the message, and in few time, memory is overflow. Do you think that
the problem is in server or client?. Do I need to magnify receive memory
buffer?.

And, do you know another test-client where I can send any message with
any structure and only send message and don't stay expect response?.
Only send and forget.

For improve receive buffer, I use heap buffer with tcpnodelay disable.
In protocol decoder I don't use CumulativeProtocol (Don't use Nagle's
Algorithm), I use logging filter (for register in/out messages).

Thank you for all.

-- 
Pablo Palazón Sánchez <[EMAIL PROTECTED]>
I3A - Instituto de Investigación en Informática de Albacete
SIDIS - Sistemas de Información Distribuida e Ingeniería del Software
UCLM - Universidad de Castilla-La Mancha

Reply via email to