Re: testing ejabberd

2008-10-05 Thread Douglas Bagnall
Gary C Martin wrote:

 http://wiki.laptop.org/go/Ejabberd_resource_tests#Try_4:_a_few_thousand_users


 One extra figure that would be interesting is the server response latency to
 client requests, not sure if hyperactivity gives you that easily.

No, I don't think hyperactivity does measure latency.  The only metric
I have is that activity sharing between XOs worked well enough while
competing with 2000 hyperactivity clients.  There are other test
suites that claim to measure latency, so I'm looking into running one
of them at the same time.



Douglas
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: [Server-devel] testing ejabberd

2008-10-05 Thread Douglas Bagnall
Gary C Martin wrote:

 http://wiki.laptop.org/go/Ejabberd_resource_tests#Try_4:_a_few_thousand_users


 One extra figure that would be interesting is the server response latency to
 client requests, not sure if hyperactivity gives you that easily.

No, I don't think hyperactivity does measure latency.  The only metric
I have is that activity sharing between XOs worked well enough while
competing with 2000 hyperactivity clients.  There are other test
suites that claim to measure latency, so I'm looking into running one
of them at the same time.



Douglas
___
Server-devel mailing list
Server-devel@lists.laptop.org
http://lists.laptop.org/listinfo/server-devel


Re: testing ejabberd

2008-10-04 Thread Gary C Martin
Hi Douglas,

On 4 Oct 2008, at 05:30, Douglas Bagnall wrote:

 The results are summarised here:

 http://wiki.laptop.org/go/ 
 Ejabberd_resource_tests#Try_4:_a_few_thousand_users

 In short, with 1GB ram, ejabberd coped with a stable load of 2000
 connections, but it went crazy when faced with more, bouncing off the
 RAM ceiling, dropping clients, and freezing its web admin interface.
 Then after a quiet period it recuperated and gamely made the fatal
 number of connections.

Hey, nice set of graphs.

So, my take on looking through them was that you are, most definitely,  
memory bound. Once you get to ~1500 active users you're out of  
physical memory, IO waits go up, CPU load goes down, VM usage spikes,  
things that really shouldn't start getting swapped to disk, services  
start grinding to a halt left, right, and centre...

I had a colleague who's answer (in part) to pretty well any server  
load issue that came up was add RAM. He was right, most of the time,  
and adding ram never hurt anyone :-)

One extra figure that would be interesting is the server response  
latency to client requests, not sure if hyperactivity gives you that  
easily. Adding RAM should help to stabilise the system behaviour, but  
you'll start drifting into server responses that are slow enough that  
various layers of the communication stack start to think things have  
broken. At that point there will likely be a spike in retransmissions/ 
reconnections et al, and all that extra traffic will quickly bring the  
server to it's knees again. :-)

All interesting stuff.

--Gary

___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: testing ejabberd

2008-10-03 Thread Douglas Bagnall
I wrote:
 I've written up my recent testing of ejabberd for the wiki:

 http://wiki.laptop.org/go/Ejabberd_resource_tests

 It is not completely satisfactory: I don't have the resources to test
 up to 3000 active users which I believe is an important target.  At
 lower numbers, however, ejabberd's memory consumption seems to be
 linear, and it looks to be roughly the case that 0.5 GB per 1000 users
 is enough.  (Just barely -- that's a limit, not a recommendation).

Since then, thanks to hyperactivity pointers from Guillaume, I got
ejabberd to very briefly accept about 4700 connections, and almost
simultaneously, to crash.  I'm quite pleased with this on both counts,
even though, because it happened during the period late on Fridays
that our host company offers free beer upstairs, I did not actually
witness the events.

The results are summarised here:

http://wiki.laptop.org/go/Ejabberd_resource_tests#Try_4:_a_few_thousand_users

In short, with 1GB ram, ejabberd coped with a stable load of 2000
connections, but it went crazy when faced with more, bouncing off the
RAM ceiling, dropping clients, and freezing its web admin interface.
Then after a quiet period it recuperated and gamely made the fatal
number of connections.

From time to time ejabberd logged errors or warnings but they don't
seem to relate to much.

I'm trying to get this automated enough so I can leave it running in
the background and think of something else.


Douglas
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: [Server-devel] testing ejabberd

2008-10-03 Thread Douglas Bagnall
I wrote:
 I've written up my recent testing of ejabberd for the wiki:

 http://wiki.laptop.org/go/Ejabberd_resource_tests

 It is not completely satisfactory: I don't have the resources to test
 up to 3000 active users which I believe is an important target.  At
 lower numbers, however, ejabberd's memory consumption seems to be
 linear, and it looks to be roughly the case that 0.5 GB per 1000 users
 is enough.  (Just barely -- that's a limit, not a recommendation).

Since then, thanks to hyperactivity pointers from Guillaume, I got
ejabberd to very briefly accept about 4700 connections, and almost
simultaneously, to crash.  I'm quite pleased with this on both counts,
even though, because it happened during the period late on Fridays
that our host company offers free beer upstairs, I did not actually
witness the events.

The results are summarised here:

http://wiki.laptop.org/go/Ejabberd_resource_tests#Try_4:_a_few_thousand_users

In short, with 1GB ram, ejabberd coped with a stable load of 2000
connections, but it went crazy when faced with more, bouncing off the
RAM ceiling, dropping clients, and freezing its web admin interface.
Then after a quiet period it recuperated and gamely made the fatal
number of connections.

From time to time ejabberd logged errors or warnings but they don't
seem to relate to much.

I'm trying to get this automated enough so I can leave it running in
the background and think of something else.


Douglas
___
Server-devel mailing list
Server-devel@lists.laptop.org
http://lists.laptop.org/listinfo/server-devel


Re: testing ejabberd

2008-10-02 Thread Douglas Bagnall
I've written up my recent testing of ejabberd for the wiki:

http://wiki.laptop.org/go/Ejabberd_resource_tests

It is not completely satisfactory: I don't have the resources to test
up to 3000 active users which I believe is an important target.  At
lower numbers, however, ejabberd's memory consumption seems to be
linear, and it looks to be roughly the case that 0.5 GB per 1000 users
is enough.  (Just barely -- that's a limit, not a recommendation).

With 1200 users making some communication every 15 seconds, the 2GHz
dual core pentium was bouncing along with a load average around 2 and
ejabberd over 100% CPU usage.

I don't know whether 15 seconds is a reasonable interval: if e.g. each
keystroke in a shared Write touches ejabberd, then 15 seconds seems
long; otherwise perhaps it's very short.

Once I realised that the open files resource limit was killing
ejabberd (which took an embarrassingly long time, not helped by
cryptic log messages), it was stable under all loads.  From time to
time I tried sharing activities between XOs and they were always
responsive.


Douglas
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: [Server-devel] testing ejabberd

2008-10-02 Thread Douglas Bagnall
I've written up my recent testing of ejabberd for the wiki:

http://wiki.laptop.org/go/Ejabberd_resource_tests

It is not completely satisfactory: I don't have the resources to test
up to 3000 active users which I believe is an important target.  At
lower numbers, however, ejabberd's memory consumption seems to be
linear, and it looks to be roughly the case that 0.5 GB per 1000 users
is enough.  (Just barely -- that's a limit, not a recommendation).

With 1200 users making some communication every 15 seconds, the 2GHz
dual core pentium was bouncing along with a load average around 2 and
ejabberd over 100% CPU usage.

I don't know whether 15 seconds is a reasonable interval: if e.g. each
keystroke in a shared Write touches ejabberd, then 15 seconds seems
long; otherwise perhaps it's very short.

Once I realised that the open files resource limit was killing
ejabberd (which took an embarrassingly long time, not helped by
cryptic log messages), it was stable under all loads.  From time to
time I tried sharing activities between XOs and they were always
responsive.


Douglas
___
Server-devel mailing list
Server-devel@lists.laptop.org
http://lists.laptop.org/listinfo/server-devel


Re: testing ejabberd

2008-09-24 Thread Guillaume Desmottes
Le mercredi 24 septembre 2008 à 16:29 +1200, Douglas Bagnall a écrit :
 Guillaume,
 
  Would be helpful if you could upload Gabble log somewhere. Before
  starting hyperactivity, launch Gabble manually like this:
  GABBLE_PERSIST=1 GABBLE_LOGFILE=/tmp/gabble.log GABBLE_DEBUG=all
  LM_DEBUG=net /usr/lib/telepathy/telepathy-gabble
 
 Thanks.  That was enough for me to sort it out -- the problem was
 caused by ejabberd restricting the number of registrations per IP
 address.  Adding {registration_timeout, infinity}. to ejabberd.cfg
 fixed it.
 
 I've put the log at http://halo.gen.nz/gabble-wired-connection-1.log
 but only in case you are curious.
 
 I've tested up to about 350 users from various machines at various
 activity rates.  Collaboration continues to work while ejabberd is
 under this load, while its memory use grows to around 160MB.  I'll
 report on this in more detail soon.


Oh right, I already observed this problem too. I added [1] explanations
in hyperactivity's README so hopefully you should be the last person
confused by this problem. :)


G.

[1]
https://dev.laptop.org/git?p=users/guillaume/hyperactivity/.git;a=commitdiff;h=e50d399881b823cad51edcc5525d53a972968459


___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


testing ejabberd

2008-09-23 Thread Douglas Bagnall
hi

I'm having some trouble using hyperactivity to test ejabberd.
Hyperactivity always ends up looping over unsuccessful accounts,
producing output like this:

can't connect hyperactivity-ac4ec2e2-892e-11dd-a4b7-0017c40d34e4. Remove it
have to create 1 accounts
create 
accounts/gabble/schoolserver.dell.xs.laptop.org/hyperactivity-ac9cecec-892e-11dd-a4b7-0017c40d34e4.account
can't connect hyperactivity-ac6d40aa-892e-11dd-a4b7-0017c40d34e4. Remove it
have to create 1 accounts
create 
accounts/gabble/schoolserver.dell.xs.laptop.org/hyperactivity-acb4ce02-892e-11dd-a4b7-0017c40d34e4.account
can't connect hyperactivity-ac85168a-892e-11dd-a4b7-0017c40d34e4. Remove it

What ejabberd says of each of these is something like:

I(0.258.0:ejabberd_listener:112) : (#Port0.464) Accepted
connection {{0,0,0,0,0,65535,44050,2588},33012} -
{{0,0,0,0,0,65535,44050,1},5222}

This would make simple sense if hyperactivity didn't succeed every now
or then.  These usable accounts build up over time, so hyperactivity
ends up starting with a few of them.  So in the sea of unsuccessful
creations there is every now and then a line like:

client hyperactivity-c3e52044-88f3-11dd-a913-0017c40d34e4: -- change
current activity

Although that has no server-side correspondent. The anomalous messages
on the server side are:

=INFO REPORT 2008-09-23 01:15:34 ===
I(0.386.0:ejabberd_c2s:478) :
({socket_state,gen_tcp,#Port0.451,0.385.0}) Failed legacy
authentication for
[EMAIL PROTECTED]/Telepathy

=INFO REPORT 2008-09-23 01:15:34 ===
I(0.388.0:ejabberd_c2s:438) :
({socket_state,gen_tcp,#Port0.453,0.387.0}) Accepted legacy
authentication for
[EMAIL PROTECTED]/Telepathy

=INFO REPORT 2008-09-23 01:15:34 ===
I(0.388.0:mod_shared_roster:640) : user_available for
hyperactivity-c3e52044-88f3-11dd-a913-0017c40d34e4 @
schoolserver.dell.xs.laptop.org (1 resources)

[ ... millions of the 'Accepted connection' messages, then ... ]

=INFO REPORT 2008-09-23 01:15:54 ===
I(0.388.0:ejabberd_c2s:1290) :
({socket_state,gen_tcp,#Port0.453,0.387.0}) Close session for
[EMAIL PROTECTED]/Telepathy

=INFO REPORT 2008-09-23 01:15:54 ===
I(0.388.0:mod_shared_roster:679) : unset_presence for
hyperactivity-c3e52044-88f3-11dd-a913-0017c40d34e4 @
schoolserver.dell.xs.laptop.org / Telepathy - [] (0 resources)


Has somebody seen this before?  What am I doing wrong?


Douglas
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: testing ejabberd

2008-09-23 Thread Guillaume Desmottes
Le mardi 23 septembre 2008 à 18:22 +1200, Douglas Bagnall a écrit :
 hi
 
 I'm having some trouble using hyperactivity to test ejabberd.
 Hyperactivity always ends up looping over unsuccessful accounts,
 producing output like this:
 
 can't connect hyperactivity-ac4ec2e2-892e-11dd-a4b7-0017c40d34e4. Remove it
 have to create 1 accounts
 create 
 accounts/gabble/schoolserver.dell.xs.laptop.org/hyperactivity-ac9cecec-892e-11dd-a4b7-0017c40d34e4.account
 can't connect hyperactivity-ac6d40aa-892e-11dd-a4b7-0017c40d34e4. Remove it
 have to create 1 accounts
 create 
 accounts/gabble/schoolserver.dell.xs.laptop.org/hyperactivity-acb4ce02-892e-11dd-a4b7-0017c40d34e4.account
 can't connect hyperactivity-ac85168a-892e-11dd-a4b7-0017c40d34e4. Remove it
 
 What ejabberd says of each of these is something like:
 
 I(0.258.0:ejabberd_listener:112) : (#Port0.464) Accepted
 connection {{0,0,0,0,0,65535,44050,2588},33012} -
 {{0,0,0,0,0,65535,44050,1},5222}
 
 This would make simple sense if hyperactivity didn't succeed every now
 or then.  These usable accounts build up over time, so hyperactivity
 ends up starting with a few of them.  So in the sea of unsuccessful
 creations there is every now and then a line like:
 
 client hyperactivity-c3e52044-88f3-11dd-a913-0017c40d34e4: -- change
 current activity
 
 Although that has no server-side correspondent. The anomalous messages
 on the server side are:
 
 =INFO REPORT 2008-09-23 01:15:34 ===
 I(0.386.0:ejabberd_c2s:478) :
 ({socket_state,gen_tcp,#Port0.451,0.385.0}) Failed legacy
 authentication for
 [EMAIL PROTECTED]/Telepathy
 
 =INFO REPORT 2008-09-23 01:15:34 ===
 I(0.388.0:ejabberd_c2s:438) :
 ({socket_state,gen_tcp,#Port0.453,0.387.0}) Accepted legacy
 authentication for
 [EMAIL PROTECTED]/Telepathy
 
 =INFO REPORT 2008-09-23 01:15:34 ===
 I(0.388.0:mod_shared_roster:640) : user_available for
 hyperactivity-c3e52044-88f3-11dd-a913-0017c40d34e4 @
 schoolserver.dell.xs.laptop.org (1 resources)
 
 [ ... millions of the 'Accepted connection' messages, then ... ]
 
 =INFO REPORT 2008-09-23 01:15:54 ===
 I(0.388.0:ejabberd_c2s:1290) :
 ({socket_state,gen_tcp,#Port0.453,0.387.0}) Close session for
 [EMAIL PROTECTED]/Telepathy
 
 =INFO REPORT 2008-09-23 01:15:54 ===
 I(0.388.0:mod_shared_roster:679) : unset_presence for
 hyperactivity-c3e52044-88f3-11dd-a913-0017c40d34e4 @
 schoolserver.dell.xs.laptop.org / Telepathy - [] (0 resources)
 
 
 Has somebody seen this before?  What am I doing wrong?
 


Would be helpful if you could upload Gabble log somewhere. Before
starting hyperactivity, launch Gabble manually like this:
GABBLE_PERSIST=1 GABBLE_LOGFILE=/tmp/gabble.log GABBLE_DEBUG=all
LM_DEBUG=net /usr/lib/telepathy/telepathy-gabble

(Gabble path can change depending on your distro).
You should have logs in /tmp/gabble.log


G.



___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: testing ejabberd

2008-09-23 Thread Douglas Bagnall
Guillaume,

 Would be helpful if you could upload Gabble log somewhere. Before
 starting hyperactivity, launch Gabble manually like this:
 GABBLE_PERSIST=1 GABBLE_LOGFILE=/tmp/gabble.log GABBLE_DEBUG=all
 LM_DEBUG=net /usr/lib/telepathy/telepathy-gabble

Thanks.  That was enough for me to sort it out -- the problem was
caused by ejabberd restricting the number of registrations per IP
address.  Adding {registration_timeout, infinity}. to ejabberd.cfg
fixed it.

I've put the log at http://halo.gen.nz/gabble-wired-connection-1.log
but only in case you are curious.

I've tested up to about 350 users from various machines at various
activity rates.  Collaboration continues to work while ejabberd is
under this load, while its memory use grows to around 160MB.  I'll
report on this in more detail soon.

Douglas
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel