[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