Thank you for the reply. The only advantage is that most of the code between the apps is shared. Would virtual hosting pose any benefits (for everyones ref: http://projects.unbit.it/uwsgi/wiki/VirtualHosting)
I guess with your technique I could make the shared code into a module of some sort and apply across the board. On Mon, Sep 16, 2013 at 1:45 PM, James Zildjian <[email protected]> wrote: > Thank you for the reply. The only advantage is that most of the code > between the apps is shared. Would virtual hosting pose any benefits (for > everyones ref: http://projects.unbit.it/uwsgi/wiki/VirtualHosting) > > > On Mon, Sep 16, 2013 at 1:15 PM, Roberto De Ioris <[email protected]>wrote: > >> >> > Hi, >> > >> > I am trying to get my head around hosting around 50 sites using pretty >> > much >> > the same codebase. The way I see it I have two approaches: >> > >> > 1. Have the common code in a library which is referenced across all the >> > sites. My concern is that I may have to have 50 instances of UWSGI >> > running, >> > which would probably eat up my memory. >> > >> > 2. Have a single site which changes it's content based on the hostname, >> > and >> > runs on a single UWSGI instance like the django sites framework: >> > https://docs.djangoproject.com/en/dev/ref/contrib/sites/ >> > >> > On paper, option 2 seems best, because I only need a single UWSGI >> instance >> > so my memory useage will be less, but I really don't like the system, >> the >> > code will end up looking quite ugly. >> > >> > I just wondered if anyone else had encountered this sort of thing and >> > could >> > offer any input at all to help me on my way. >> > >> > Thank you. >> > >> >> Personally i tend to avoid mixing multiple applications in the same >> process (unless there are advantages in it). >> >> I suggest you to configure an Emperor with each vassal in "cheap" mode >> (only the master will be spawned) and with idle enabled. A good combo for >> avoiding memory allocation til needed: >> >> [uwsgi] >> master = true >> cheap = true >> ; load application only in the workers >> lazy-apps = true >> ; destroy workers after 60 seconds of inactivity >> idle = 60 >> >> with this setup 50 inactive apps should not consume more than 100MB. >> >> If you can enable KSM you can reduce those 100MB to (probably) 20-30 >> >> http://uwsgi-docs.readthedocs.org/en/latest/KSM.html >> >> there are other approaches too, but this should be quite easy to implement >> >> >> -- >> Roberto De Ioris >> http://unbit.it >> _______________________________________________ >> uWSGI mailing list >> [email protected] >> http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi >> > >
_______________________________________________ uWSGI mailing list [email protected] http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
