I am new to xmpp/ejabberd and also to testing. I have an ejabberd xmpp server setup for my chat application. I am using Tsung to do load testing on the server.
For this I am creating multiple scenarios or sessions where the Tsung will create MUC and send messages to that MUC.
It works fine, until a question came to my mind.
The tsung does the load testing, and generates the reports too, but why isn't the rooms that are created by tsung and the messages that are sent to those MUC does not reflect on the Server.
I have checked it using ejabberd rest APIs. I don't see any rooms created by tsung. I can assure that the xmpp server works fine as I have created rooms and sent messages from my chat application.
Is it that the tsung only creates dummy data that it later delete once the test is complete? Or like its said on their docs that it simulates traffic. Does that mean it does not create any of those data? Or is it with my tsung configuration?
I am sorry if this sounds silly.
Thanks in advance!
Well, this should appear in ejabberd log files.
But other than logs, loadtesting doesn't leave any information in the ejabberd database after testing. And why not? For a simple reason: by default rooms are temporary, not persistent. A room is created when an occupant joins a new room. And the room is automatically destroyed when the last room occupant leaves the room.
See https://xmpp.org/extensions/xep-0045.html#exit
As you can see there are functions to join and leave the room, no need for create and destroy them: https://github.com/processone/tsung/blob/develop/src/tsung/ts_jabber_common.erl#L700