On Wed, Sep 8, 2010 at 12:35, Tomeu Vizoso <to...@sugarlabs.org> wrote: > On Wed, Sep 8, 2010 at 12:21, Martin Langhoff <mar...@laptop.org> wrote: >> On Wed, Sep 8, 2010 at 5:02 AM, Tomeu Vizoso <to...@sugarlabs.org> wrote: >>> Note that those are registered users, there's only a dozen online. >> >> Ah! Then no, the behaviour is 100% bogus. >> >>> I guess in that case you won't accumulate lots of registered users >>> either, so this behavior shouldn't matter in the field. >> >> Well, you do, just that they are segregated in groups. But the >> "registered, not online" users should not be in memory at all, unless >> they've been "seen" by ejabberd since it started and it's not perhaps >> purging its roster? >> >> Are you seeing the bug after a long run? >> >>> Will consider purging registered users weekly or daily from public >>> jabber servers such as jabber.sugarlabs.org. >> >> Does a restart of ejabberd make this better? > > Nope, same slowness. Ejabberd also took all the cpu for a couple of > minutes when starting up, so it probably loads all registered users to > memory and does some crazy stuff with them at that point.
Some more info: - deleting all registered users with ejabberdctl delete-older-users 0 doesn't seem to have any effect, even after restarting - it's using mnesia, not postgresql - while churning the CPU, strace shows it's doing this: clock_gettime(CLOCK_MONOTONIC, {5168912, 600887090}) = 0 pread64(13, "\0\0\7|\0224Vx\0\0\1\347\203h\5d\0\vpubsub_itemh\2k"..., 8192, 5813560) = 8192 pread64(13, "\0\0\6*\0224Vx\0\0\6\"\203h\5d\0\vpubsub_itemh\2k"..., 8192, 5821752) = 8192 pread64(13, "\0\0\1\275\0224Vx\0\0\1\265\203h\5d\0\vpubsub_itemh\2k"..., 8192, 3843384) = 8192 pread64(13, "\0\0\f\202\0224Vx\0\0\6!\203h\5d\0\vpubsub_itemh\2k"..., 8192, 3851576) = 8192 pread64(13, "\0\0\6,\0224Vx\0\0\6$\203h\5d\0\vpubsub_itemh\2k"..., 8192, 5829944) = 8192 pread64(13, "\0\0\6b\0224Vx\0\0\6Z\203h\5d\0\vpubsub_itemh\2k"..., 8192, 5840184) = 8192 pread64(13, "\0\0\4E\0224Vx\0\0\4=\203h\5d\0\vpubsub_itemh\2k"..., 8192, 3859768) = 8192 pread64(13, "\0\0\10W\0224Vx\0\0\1\243\203h\5d\0\vpubsub_itemh\2k"..., 8192, 3867960) = 8192 poll([{fd=3, events=POLLIN|POLLRDNORM}, {fd=5, events=POLLIN|POLLRDNORM}, {fd=8, events=POLLIN|POLLRDNORM}, {fd=7, events=POLLIN|POLLRDNORM}, {fd=17, events=POLLIN|POLLRDNORM}, {fd=18, events=POLLIN|POLLRDNORM}, {fd=20, events=POLLIN|POLLRDNORM}, {fd=25, events=POLLIN|POLLRDNORM}, {fd=21, events=POLLIN|POLLRDNORM}, {fd=28, events=POLLIN|POLLRDNORM}, {fd=24, events=POLLIN|POLLRDNORM}, {fd=26, events=POLLIN|POLLRDNORM}, {fd=23, events=POLLIN|POLLRDNORM}, {fd=27, events=POLLIN|POLLRDNORM}, {fd=29, events=POLLIN|POLLRDNORM}, {fd=19, events=POLLIN|POLLRDNORM}], 16, 0) = 0 - fd 13 is /var/lib/ejabberd/spool/pubsub_item.DAT which is 12M - exporting the db with ejabberdctl dump /tmp/test.dump shows that there's 8916 entries in the pubsub_item table. So maybe something is not getting purged and maybe we have a very bad index somewhere? Regards, Tomeu >> [ My questions are a bit hazy here, as I am chasing a few matters at >> this moment and I cannot devote the time to repro and diagnose/debug >> this... apologies. ] > > There's no rush at all. > > Regards, > > Tomeu > >> cheers, >> >> >> m >> -- >> mar...@laptop.org -- School Server Architect >> - ask interesting questions >> - don't get distracted with shiny stuff - working code first >> - http://wiki.laptop.org/go/User:Martinlanghoff >> > _______________________________________________ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel