Optimizing Axis Web Service Performance Part 1

Written on 4:51 AM by ronald

I am currently working on a web application which supposedly will send out sms messages to mobile phones.

Basically the design goes like this



My web application will send an soap request comprising of the sms message and mobile number to web service which will in turn query the sms gateway and then response will be forwarded back to web service and finally back to the web application to verify that the sms message was sent.

Now, everything was working fine if i am only calling web service one at a time
If i start to make concurrent requests to the web service.

I will encounter errors like Socket Read Timout exceptions, Connection Timout exceptions

Why is this so? After spending alot of time googling, i realize that apache axis actually opens up a new socket connection for every web service call invoked.

There is a limit to the incoming and outgoing connections at the server that is hosting the web service.

So what is the work around or solution for this?

1. Increase the _call.setTimeout(new Integer( 4 * 60 * 1000 ));
e.g. 4 minutes

2. Adjust the TCP connections in the server
e.g. increase number of connection requests and adjust the tcp timeout for each connection to be lower

I will try to explain how to optimize using these two solution in part 2.

Organize Your Tasklists Using Redmine

Written on 8:12 AM by ronald

I wonder how many of you have heard about Redmine. Well the official definition about it is that Redmine is a flexible project management web application. Written using Ruby on Rails framework, it is cross-platform and cross-database.

For more information maybe you can go to the official website to take a look.
Initially i was looking for an alternative to JIRA for bug tracking. I tried to review through different alternative like Bugzilla, Mantis etc. In the end i thought Redmine was the closest thing to JIRA.

I went to bitnami.org to install Redmine into my Ubuntu Linux box.
So i started to play around with Redmine, and then i realize that it is also very suitable to use as for personal task management.

Hope you all can try this out and see for yourself how Redmine can make your life more organized and can accomplish more things at a time.

Welcome on iworking

Written on 7:53 AM by ronald

A blog about information technology and my working life as an IT consultant.