Tigase load tests on Nokia N900

Normally you would not call something a load test if there are just 40 user connections opened to the server.

This time, however the Tigase was running on the mobile phone which is itself an interesting achievement. One thing, however is to just run the application and another is to actually make it do something useful.

The Tigase running there was just the standard version you can download from the website, no single line of code was changed. And also the N900 was running all the standard applications as a fully functional mobile phone.

The only change I made to the phone was installation of the JRE and Bash shell, the rest remained unchanged and none of applications running on the phone was stopped.

All the connections to the server were established via mobile network and all the connections were encrypted with TLS.

During these 3 days while it was constantly running, a few people connected, registered an account and sent me a message. I wanted, however to push it to the limits and see how much it can actually handle. I started to create new user accounts and keep all of them connected to the server. I managed to get up to 40 online users and still load on the server and general resource usage was very minimal.

To generate some significant traffic and load I have added all users to one user's roster and then tweaked all other users' rosters so all of them had about 3-4 contacts. Then I was changing presence status for all of them at the same time. The monitor screenshot above show the spikes caused by the traffic. This in fact generated some load but still far from using up the device.

It turns out that it is not too easy to overload the Tigase running on the mobile phone. The mobile network latency introduces significant delays, therefore it was actually difficult to overload the system as the packets were queuing somewhere in the network. The whole system was running fine, stable and no problems were experienced.

It a shame there was not enough time to see what are the real limits, like stopping all the GUI applications on the phone to release resources, connect the phone do WiFi network and put some real load on the system.

If I have an opportunity I will for sure run such tests to see how much, really, the device with Tigase on board can handle - 1000 online users?

And the next step would be running Tigase cluster on maybe five of them. If I ever have such an opportunity I will let you know the results.

Article type: 


This is great. What was the JRE/JDK you were using on the N900.

That was SUN's Java SE embedded on trial license.

w.r.t to the above blog(http://www.tigase.org/content/tigase-load-tests-nokia-n900) i have few questions for you.

From this blog i came to know that we can embed Tigase into mobile. I want know which web server and proxy server we can embed into mobile with Tigase XMPP server. Footprint of web server should be very tiny so that we can embed it into mobile.

1)is Jetty fits this web server place?
2) which proxy server we can use with Tigase in mobile(nginx or apache)?
3) is nginx or apache proxy server works in mobile?

can you please help me in this or point me to some resource...

Unfortunately I do not know too much about embedding web servers or proxies into mobile. Running Tigase on a mobile phone was just an experiment and it worked.