ejabberd - Comments for "Beam process taking all resources" https://www.ejabberd.im/node/3041 en Send messages to local existing accounts https://www.ejabberd.im/node/3041#comment-52417 <div class="quote-msg"> <div class="quote-author"><em>VasilyP</em> wrote:</div> <p>For the test I used a simple NET::XMPP based jabber client written in perl. To simulate load I login 50 users, each user is sending a message (about 1000bytes) to a randomly selected opponent once in a second.</p> <p>Suddenly I found that my server is using all available CPU and near all the memory is used. </p></div> <p>The destinations of messages are existing account in the same Jabber server, non-existing accounts in the same server, or purely random?</p> <p>If your Jabber server is "jabber.localhost" for testing purposes, a realistic test would be to create accounts test1 up to test50, and send messages to a random destination selected in the group: test1@jabber.localhost .. test50@jabber.localhost</p> <p>If your current script sends messages to purely random JIDs like aaaa01 instead of testXX@jabber.localhost or aaaa01@jabber.localhost, then your clients are sending messages to remote servers like aaaa01, and this forces ejabberd to try to establish connections with remote servers, that in fact do not exist. This isn't a realistic test.</p> <div class="quote-msg"> <div class="quote-author"><em>VasilyP</em> wrote:</div> <p>According to the ‘top’ report the source of the load is a process ‘beam’.</p></div> <p>Yes, 'beam' is the erlang machine where ejabberd runs.</p> <p>50 users sending each one 1 message every second to another local user should consume very few resources.</p> <p>You can check the tools I used some years ago to stress test ejabberd: <noindex><a href="/benchmark" rel="nofollow" >Benchmarking Jabber/XMPP Servers with Jabsimul</a></noindex>.</p> Sun, 18 May 2008 18:08:40 +0000 mfoss comment 52417 at https://www.ejabberd.im