[development] Performance / Scalability with DXMPP for Xomba

Aaron Winborn 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 
https://svnbrowser.advomatic.com/xomba/browser/trunk/sites/all/modules/dxmpp/dxmpp.module

Thanks,
Aaron

-- 
Aaron Winborn

Advomatic, LLC
http://advomatic.com/

Drupal Multimedia available now!
http://www.packtpub.com/create-multimedia-website-with-drupal/book

My blog:
http://aaronwinborn.com/



More information about the development mailing list