3 Nov 2005 22:14
Re: CPU Utilization on ejabber servers
Andreas van Cranenburgh <andreas <at> unstable.nl>
2005-11-03 21:14:06 GMT
2005-11-03 21:14:06 GMT
The following is a couple of hints & opinions. I'm trying not to advocate things, but only trying to point out possible room for improvement :) On Thu, Nov 03, 2005 at 08:22:56PM +0200, Tiaan wrote: >> 2. user activity / behaviour. are they sending each other a lot of >> messages? or just working and sending 1 message every hour? > > There is a lot of login / logoff activity and messages is being sent very > frequently, we also run many chat bots on the system, causing messages > originating from one user to be delevired to many users. frequent login / logoff: educate users to keep the jabber client in the systray. educate them to disable popups when the user has status "busy" / "away" (eg. Gajim has such settings). many bots: consider rewriting bots to use PubSub, which can let people subscribe to things, and then send new events to any user who is subscribed, with a multicast-like idea (optimised for one-to-many). downside of pubsub: even though ejabberd has pubsub, it might be incomplete (someone explain to me...), furthermore clients need to support pubsub (I think, again...). >> 3. if there's memory free, then you installed too much memory. Or: you >> can store more things in memory instead of on-disk (note that this can >> be dangerous in case of power-loss, data can disappear). > > Most of the Mnesia tables is configured to be stored on disk and > memory, the 2nd node is set to the defaults as on the first node. > > [snip] > Round-robin howto is still missing in both the guide and the website > We use Windows's NLB (Network Load Balancing) to balance the load, which > is working very good. So why don't you post an entry to http://ejabberd.jabber.ru to explain how to do NLB? Preferably without lots of text but just with a few screenshots, to get people started -- but that's just how I'd imagine it. BTW: round-robin comes down to two little DNS records. But before I'd write a guide I wanna test it, and see if it works properly. I need said server, for that. > Something else, it seems like the erlang prosses is configured not to use > more that 1GB of memory, as it's swapping while physical memory is still > available. Looking at the manual it seems like the "+A" and "+h" parameter > sets pool and heap values, but I don't know what the default is, nor what > to set it to. Dude, that's exactly why I'd say try UNIX / Linux. Windows is NOT optimised in its default configuration, because that is a way to make money for MS and the rest of the closed-world food-chain. If you hire a really expensive, certified Windows engineer, he'll tweak it to make it handle more connections etc, and use less CPU. Please consult the Google if you think I'm just a lying freak. The same effect (possibly better), can be attained by installing UNIX/Linux. Any distro would do. What's holding you back? Maybe your company wants to hire me? Just kidding :P The problem with Windows, I assume, is that it thinks it's pretty smart at deciding how to do Virtual Memory. If it's swapping, then it's certainly stupid, in your case! If it's wasting memory, and decides to swap instead, well that sounds rather braindead. But before I accuse teh venerable windows, maybe you configured ejabberd to do some stuff on-disk, and maybe that's the disk activity in question, or are you sure you're talking about lots of swapping? If you generate too much page faults you can get into a downward spiral of paging . . . Seriously, I can't help you with tweaking Windows, not even for a 250 euros per hour I wouldn't (want to) know! [ more, anyone? :P ] -- -- Andreas [ http://unstable.nl | xmpp:andreas <at> unstable.nl ] [ callto:ils.seconix.com/andreas <at> unstable.nl ]
_______________________________________________ ejabberd mailing list ejabberd <at> jabber.ru http://lists.jabber.ru/mailman/listinfo/ejabberd

RSS Feed