Skip to content


Presence Scalability

Members of the IETF’s SIMPLE Working Group recently analyzed the scalability of SIP/SIMPLE technologies with respect to sharing presence between domains. Because their work provides a helpful baseline for comparing presence technologies, we decided to perform a similar analysis for XMPP. The results should be of interest to any large enterprise, ISP, or carrier that is contemplating deployment of presence-based services.

Consider some of the relevant results for bandwidth usage between two presence domains:

  • If the domains have 20,000 users, where each user has 4 contacts in the other domain and changes presence 3 times an hour, bandwidth usage is estimated to be 30 kilobytes per second for XMPP and 830 kilobytes per second for SIMPLE.
  • If the domains have 20,000 users, where each user has 20 contacts in the other domain and changes presence 3 times an hour, bandwidth usage is estimated to be 150 kilobytes per second for XMPP and 1,968 kilobytes per second for SIMPLE.
  • If the domains have 60,000 users, where each user has 10 contacts in the other domain and changes presence 3 times an hour, bandwidth usage is estimated to be 225 kilobytes per second for XMPP and 3,683 kilobytes per second for SIMPLE.
  • If the domains have 10,000,000 users, where each user has 10 contacts in the other domain and changes presence 6 times an hour, bandwidth usage is estimated to be 70,833 kilobytes per second for XMPP and 880,555 kilobytes per second for SIMPLE.

While these analyses need to be reviewed, discussed, and extended within the IETF, the preliminary results indicate that the choice of presence technology can make a significant difference with regard to bandwidth usage.

UPDATE 2007-10-02: See here for more up-to-date analysis.

Posted in meta.


2 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Nolan Eakins says

    I’m going to be to lazy this morning to do the actual math, but wouldn’t XMPP’s numbers drop signifigantly more if the servers coalesced presence stanzas? So if me and another user on my domain are both subscribed Bob’s presence, Bob’s server only sends out a single stanza to my server when Bob comes and goes. Simply tacking on our extended server addressing element would do the trick and would be transparent to all but the servers.

  2. stpeter says

    Yes, various optimizations would reduce the bandwidth usage. For XMPP that would include protocol extensions such as Extended Stanza Addressing and Stream Compression. A future version of the XMPP presence scaling analysis document may discuss such optimizations.