tags:

views:

129

answers:

2

We have developed SMPP application. It's SMS receiving speed is mere 16 SMS per second. How can i increase this speed?

A: 

What kindof application it is, written in Java?

Couple of things 1. See where it is taking most of the time in processing. This would lead to a solution 2. Can optimize the processing flow to queue and process the messages

There are other factor involved as well, like hardware configuration etc, but normal hardware gives a decent performance.

OpenSMPP is the java standard for connecting to mobile networks (it was developed by a firm called Logica I believe)
laura
A: 

First and foremost, I recommend getting JRat to profile the application. You need to know where to optimize before optimizing.

That being said, I went through this as well. The biggest bottleneck I encountered was the ServerPDUEventListener implementation - in my first version, I was treating all incoming PDUs in that class - which serialized access to them - and some were doing database access! The way I solved this is by spawning threads for the PDUs which I actually wanted to process in a more detailed manner - in my case this was the DELIVER_SM PDUs and the SUBMIT_SM_RESP PDUs but that depends on the actual application you are developing. Handling them in separate threads meant my main ServerPDUEventListener was free to keep processing the next PDUs. The bottleneck is similar to implementing a server socket - whenever you accept a client socket, you want to return to listening for other incoming connections and handle the communication in a separate thread.

laura