-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I think that having the master daemon be able to run an array of sites per instance would be good to minimize the number of running processes when hosting multiple instances and make it easier to start and stop them if needed. A suggested implementation is a separate daemon config file that has an array element for each config file for a site so that it can run sites with different configs together because it would be needed, especially for DB interaction. A second suggestion to help with memory leaks, make the PHP be started from a shell script then have it sleep something like 3600 seconds then stop the PHP followed by immediately restarting it so the only thing running for more than an hour is the shell script.
Brion Vibber wrote: > Some of StatusNet's awesomer features like the XMPP and Twitter bridges > require running background daemons to watch event queues or keep > connections to XMPP servers open. > > Alas, this just isn't going to scale to the future StatusNet 1.0 world > where we're going to be running thousands of instances for our hosted > services. We see a lot of problems with memory leaks and instability in > those daemons with even just a few live sites now... > > > I've worked out what I think is a feasible architecture for a more > scalable queue/daemon system for big sites to use; details and some > diagrams I whipped up to help me keep my head straight are up on the wiki: > > http://status.net/wiki/Daemon_redesign > > > I'm planning to use a single lightweight master daemon which will > maintain long-running connections to the ActiveMQ queue and XMPP > daemons. Actual event handling will still be done at the PHP/StatusNet > level, but now as short-running processes which will handle a single > event and exit. > > This reduces the surface area for memory leaks and other oddities we > encounter in long-running PHP scripts, and most importantly means we > only have to run as many processes are there actually are events being > handled! > > Please feel free to give some feedback before I jump into > implementation. :) > > -- brion vibber (brion @ status.net) > Senior Software Architect, StatusNet > San Francisco > _______________________________________________ > StatusNet-dev mailing list > StatusNet-dev@lists.status.net > http://lists.status.net/mailman/listinfo/statusnet-dev -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (Darwin) iEUEARECAAYFAkrg7HIACgkQzSSLW0oTVN7P6gCgj2b4bXCx6WqpX4vkxNun20M+ MaYAl1of6PBRdjMC+mZPXuuwjn2eMzw= =X/Ly -----END PGP SIGNATURE----- _______________________________________________ StatusNet-dev mailing list StatusNet-dev@lists.status.net http://lists.status.net/mailman/listinfo/statusnet-dev