[development] Performance / Scalability with DXMPP for Xomba
winborn at advomatic.com
Fri Apr 9 11:52:10 UTC 2010
I have a performance / scalability issue to discuss:
I wrote the DXMPP module with Xomba's 200k+ users in mind. After
deployment, each existing and new user will need to have an associated
XMPP account created. This involves Drupal querying that server (with a
minimum of 3 queries & responses per user), and then another query and
response PER buddy to synchronize their user relationship roster.
I currently have the server do this on the fly, so the first time a user
loads a page that happens invisibly. However, that means that the user
relationship roster will NOT reflect their actual buddy list until the
associated users are also created. In effect, it means that initially,
only active users will have their accounts created, and will slowly fill
up over time.
To mitigate this, I (plan to) also have cron build up a few users at a
time, so that after a week or so all users should be caught up.
The alternative, of course, would be to do this with an update. I'm wary
of that, because I'm not sure first of all how long that will take (I
imagine several hours), and if the server's resources would be
completely tied up by doing that.
I would love some feedback. The code resides at
Drupal Multimedia available now!
More information about the development