Hi,

I am using MINA for client-server based communication on my Centos machine
both of which reside on same machine. The architecture is the following:

Client has a single SocketConnector and manages a pool of active IOSession
objects which can be utilized by any incoming request. This SocketConnector
is invoked by tomcat once HTTP POST request comes to a particular url hosted
on the machine. The client picks up an active session and fires the request
to the socket server. I am using executor Executors.newCachedThreadPool() so
that the request doesn't execute on IO thread.

On the server end I have a socket server which uses a executor to process
incoming IO request and send back response. The typical request processing
involves db queries, sending sms on smpp server and returning back the
result to the client. Typically this request processing can take upto 40secs
to finish up(yeah I know its slow as sms sending and delivery report is to
be proceesed)

What I observe is the following even on a single request the CPU usage of
tomcat java process shoots up very high which is very worrying given the
system is expected to see more traffic in coming days. I have also tried to
forcefully bring down the request processing time to 3secs by ignoring a few
steps just to diagnose the problem, however there is no improvement, its
just that cpu shoots for a smaller period i.e. from 40 secs to 3 secs. Any
suggestions will be highly appreciated.

Thanks !
Best Regards,
Abhishek

Reply via email to