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.