[JDEV] performance numbers.. questions

Dustin Puryear dpuryear at usa.net
Wed May 9 14:52:20 CDT 2001


I am actually now getting some hard numbers from the jabbertest tools.
One test I ran connected 1000 users to a Jabber server running on a
Pentium III 600 with 192MB of RAM. I saw some odd results. But first,
here is how the test works:

active_jab basically connects 1..n users serially, and sends x messages
when each user connects. It does NOT send messages concurrently for each
connected user. (Although that would be an excellent feature--to be
added soon!) Instead, if you want to simulate multiple users sending
messages at the same time to the same server then you just run muliple
instances of active_jab on the same or different client machines. (Very
simple.) The basic idea is:

for user 1..n do
  connect user to jabber
  send x messages and track delivery times
done

for user 1..n do
  disconnect user from jabber
done

Memory
=======
First of all, I assumed that Jabber would consume a lot of memory, which
turned out to be a wrong assumption. I saw my %memused jump from a rough
minimum of 81% to maybe 95%. My %swpused did not change significantly,
which indicates that I had enough core memory for the job. (Remember
Linux always uses as much memory as it can for buffers, so the starting
value of 81% isn't surprising.) The big issue here is that there was
only a small jump--around 14%.

CPU
=======
Big surprise here. Jabber seems to *quickly* begin eating CPU cycles as
the number of connected users increases. Here is some data:

users   idle  user  sys
0       99%   1%    0%
200     70%   24%   3%
500     45%   50%   5%
800     30%   64%   6%        
1000    20%   70%   10%

(Yes, the totals may be more or less that 100%. I am getting these
numbers from graphs and quickly jotting them down.)

Note that Jabber is consuming 24% of the CPU at 200 users on a Pentium
III 600. I also noticed that as more users are connected the message
delivery time decreased. The progession was slow.. usually going from 0
seconds to 2 seconds as the number of users went from 0..1000. But
still.. why is that? Remember I am not sending message concurrently.
Instead, as each user connects active_jab sends x messages (defaults to
5), and then proceeds to the next user.

I would like some feedback on this data. Does this look like what
everyone else has been experiencing? Are my numbers out of wack?! What
other numbers would be useful?

I think the next logical step is to run active_jab on several machines
at once. That way we can test how many *concurrent* users can connect
and send messages.

Regards, Dustin

-- 
Dustin Puryear <dpuryear at usa.net>
http://members.telocity.com/~dpuryear
In the beginning the Universe was created. 
This has been widely regarded as a bad move. - Douglas Adams



More information about the JDev mailing list