ejabberd - Comments for "Just how big can an ejabberd installation get?" https://www.ejabberd.im/node/139 en Thanks https://www.ejabberd.im/node/139#comment-286 <p>Thanks for the info. I'm not sure it's enough to proceed with, but it looks good. I'll try the mailing list.</p> Tue, 29 Mar 2005 15:21:40 +0000 ahickmott comment 286 at https://www.ejabberd.im This forum is a good place. B https://www.ejabberd.im/node/139#comment-282 <p>This forum is a good place. But you will want to ask this on the <a href="/mlist">ejabberd mailing list</a> (adding a link to this thread), to reach different people.</p> <p>You can ask on <a href="http://mail.jabber.org/mailman/listinfo/jadmin">jadmin</a> (general list about Jabber server administration) too.</p> Sat, 26 Mar 2005 00:00:24 +0000 mfoss comment 282 at https://www.ejabberd.im big server: possible hints https://www.ejabberd.im/node/139#comment-281 <p>Until somebody with better knowledge in ejabberd and Erlang aswers, I'll try to give some hints, probably things you already noticed, and probably with errors since I'm speaking about things I've not tried myself.</p> <blockquote>we're sure we want to use XMPP, and are still speccing out the exact implementation</blockquote> <p>You can run tests to check the limitations of the different implementations: how many total accounts (1M, 10M?...), how many roster items (10M, 100M?...), etc.</p> <blockquote>If things go well, we need to support millions of registered users, with hundreds of thousands active at one time.</blockquote> <p>In ejabberd: <ul> <li>Every registered account is a line in a table. Having several millions is not a problem. </li><li>Every item in a roster is a line in a table. If every registered user had several items in their roster (like 100 contacts), then this may reach the limit in Mnesia (it's just speculation). </li><li>If limits are not reached, having millions of registered users is not a problem for CPU or RAM usage. The problem is the number of concurrent connected users at one time, and how active they are (messages/presences sent/received per second). </li></ul></p> <blockquote>Is anyone doing that already?</blockquote> <p>I don't know about ejabberd, but there were some emails on the jadmin mailing list some months ago from people interested in similar things.</p> <blockquote>One cluster? Several clusters in a farm?</blockquote> <p>You will probably need two things: <ul> <li>Split the user base (if they reach database limits) in several exclusive domains. I mean, split the total user base in groups: <ul> <li>by language: en.pando.com, es.pando.com... </li><li>by country: us.pando.com, uk.pando.com... </li><li>or by theme: edu.pando.com, games.pando.com... </li></ul> Every domain will have its own user base, its database, its server or cluster of servers. If this is possible, I think you will have a lot of work advanced, since every group will be completely independent. </li><li>Split the computational work for every group in several machines, using an Erlang cluster for each group. Every node in the cluster will share the same database (the same user base). Mnesia will keep updated each node database. </li></ul> </p> <blockquote>I've seen mentions of the next version talking to an SQL database. How close to ready is that?</blockquote> <p>ejabberd at CVS has ODBC/PostgreSQL storage for the roster table (the biggest table on the database). If the bottleneck in your situtation is database limits then you will prefer PostgreSQL. If it's computational limits, then you will prefer Mnesia and deploy it in a cluster.</p> <p>Links: <ul> <li><a href="http://www.erlang.org/~hakan/mnesia_consumption.txt">Mnesia consumption</a> </li></ul> </p> Fri, 25 Mar 2005 23:50:31 +0000 mfoss comment 281 at https://www.ejabberd.im Anyone? Or is there a better https://www.ejabberd.im/node/139#comment-279 <p>Anyone? Or is there a better place for me to ask this kind of question?</p> Fri, 25 Mar 2005 21:14:18 +0000 ahickmott comment 279 at https://www.ejabberd.im