Hi, We are using MINA in my production server. Basically, it's just a simple chat server, with custom protocol.
Mina version is 2.0.0M6, and we dont have problem with this version so switching to 2.0.2 isn't a priority at the moment. The Server OS is Linux CentOS and the clients are Brew Device (Qualcomm), running in internal network of the carrier (CDMA based). As the users grow, we are suffering with some performance issues. where some of the clients are unable to login. FYI, each client will be assigned to unique session. here's our investigation steps 1. We can see the 'request packet' captured in the application log, 2. The application completes the message construction for the response to client 3. aplication perform the final session.write(response) 4. Somehow the response packets are failed to be delivered (In the client side, it's just stop in WAITING_STATE as no packets are delivered). step #2 is related with database, we find the average time required is very acceptable (less than 100ms) the maximum concurent user ever recorded was 600 something when the problem starts to occure java memory configuration -Xmx1024m ulimit -a from console core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited file size (blocks, -f) unlimited pending signals (-i) 1024 max locked memory (kbytes, -l) 32 max memory size (kbytes, -m) unlimited open files (-n) 131072 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 stack size (kbytes, -s) 10240 cpu time (seconds, -t) unlimited max user processes (-u) 71679 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited basically I'm just change the maximum open file setting for the application. My Questions are : 1. Is there any other possible tuning required in the OS configuration 2. How to deploy scalable mina application. Let say that I want to deploy my application in N servers. 3. Is it possible that any setting required from the carrier (DNS, Timeout, Dormant time) may have affect the chat application ? Regards, Adi
