Oh, I wouldn't recommend it. I'd recommend using nginx or lighttpd to proxying to Django (via green unicorn, via werkzeug...).
However, mod_fastcgi required zero modification of $EMPLOYER's Apache derivative and zero building of 3rd party Apache modules. And the Django folks are currently maintaining directions on using mod_fastcgi with Django. And because it's running on $NOT_LINUX building much of anything can be a royal pain. Right now I'm down to only needing to build mysql and the python module for mysql and the python module for LDAP (Along with PHP linked against too many unholy things). Oh, and for the record, the green unicorn approach with the current network topology at my work place would almost certainly gain me a FAIL on our security theatre security audits. On Nov 11, 7:54 pm, Josh <[email protected]> wrote: > C I am curious, I am assuming you would recommend fastcgi over > mod_wsgi and if so how come? I feel like there is so many people > telling you one over the other its hard to get straight facts and not > just "mod_wsgi is besttteststs...." Thanks for the input! > > On Nov 11, 4:52 pm, Josh <[email protected]> wrote: > > > I think I have hunted the problem down. I had inadvertently included > > the flatpages urls twice in two separate urls. One of them was store/ > > urls.py and imported satchmo_store.urls and added the flatpages url. > > The other was store/localsite/urls.py which is my root urls, but it > > was included the store.urls and added the flatpages urls and other > > urls for some custom stuff (like the redirect I mentioned in an > > earlier post). So both urls were adding the flatpages url. Now I am > > only using the store.localsite.urls (it now import satchmo_store.urls > > instead of store.urls) and I have completely removed the flatpages > > from those store.localsite.urls (I think the middleware was and now it > > definitely is taking care of flatpages anyway). When loading pages > > memory use goes up but once pages are done loading the memory > > stabilizes and I am assuming will eventually go down when the child > > processes are killed by hitting their timeout. Thanks for all of the > > help, I'm still going to take a look at gunicorn as well because > > performance has been an issue and anything to make it faster would be > > great. > > > -Josh > > On Nov 11, 2:19 pm, Alex Robbins <[email protected]> > > wrote: > > > > Yeah, I'm with Bruce on that. We switched from mod_wsgi to > > > nginx/gunicorn because it was a pain and took more resources. > > > > Alex > > > > On Thu, Nov 11, 2010 at 3:52 PM, Bruce Kroeze <[email protected]> wrote: > > > > Bleah. > > > > I'm going to jump in here and say - as I always do in this type of > > > > situation > > > > - that Apache is a terrible solution for Django/Satchmo. > > > > Djangoproject's > > > > recommendation is simply wrong for most use cases. > > > > This is yet another reason why. You can't determine where the leak is. > > > > Is > > > > it Apache? Is it mod_wsgi misconfigured? Who knows? It isn't > > > > something > > > > you can get to the bottom of without a ton of testing, and in the > > > > meantime > > > > your site is crashing. > > > > Who cares? Stop using Apache. Mod_wsgi stinks, almost as much as > > > > mod_python. > > > > My preferred solution these days has changed, and I'm preparing a > > > > detailed > > > > article about it, but it isn't very far from this solution. > > > > http://brandonkonkle.com/blog/2010/jun/25/provisioning-new-ubuntu-ser... > > > > Differences in my most-preferred-solution: I use buildout instead of > > > > pip, > > > > and Lighttpd instead of Nginx. Neither change would affect the > > > > superiority > > > > of this solution. > > > > Here's the big deal - this is why you should do this in a nutshell: > > > > 1) You will explicitly know which process is eating memory, since you > > > > will > > > > have separate django daemon threads. > > > > 2) Green Unicorn will allow you to kill and recycle worker threads after > > > > timeouts. If it really is Satchmo eating memory, then that will > > > > release the > > > > memory on a continual basis. > > > > 2.5) Green Unicorn is almost unbelievably nice. Really. I love it. > > > > 3) Your site will almost certainly be faster. In any case, much faster > > > > compared to a crashed server. > > > > 4) Figuring out what is wrong will be much much easier. > > > > #4 is the biggest issue, IMHO. 90% of the cost of a store is > > > > maintenance. > > > > Anything that makes the store easier to maintain and debug is worth it, > > > > even if #3 is not true. Worth a little speed slowdown (doubtful in any > > > > case) in exchange for testability and clarity. > > > > Good Luck, > > > > Bruce Kroeze > > > > On Thu, Nov 11, 2010 at 1:27 PM, Alex Robbins > > > > <[email protected]> wrote: > > > > >> Sorry, at this point its hard for me to say exactly what is going on. > > > >> I'd say if you can't see any processes with the name you assigned in > > > >> the config directive, then it seems like there probably aren't daemon > > > >> processes. This is what happened to me earlier. I had to tweak and > > > >> mess with the daemon process settings to get it to work. If I remember > > > >> my situation correctly, the process group wasn't setup right, but > > > >> yours looks ok to me. > > > > >> As for how is it running at all? If it isn't in daemon mode, then it > > > >> is running in embedded mode. There is a python interpreter in every > > > >> httpd process, which would take a lot of ram if you spawned a bunch of > > > >> httpd worker processes. > > > > >> Alex > > > > >> On Thu, Nov 11, 2010 at 3:13 PM, Josh <[email protected]> wrote: > > > >> > Ok so the conf now looks like this: > > > > >> > WSGIDaemonProcess hatikva.com user=hatikva group=hatikva > > > >> > python-path=/ > > > >> > usr/local/lib/python2.6/site-packages display-name=%{GROUP} > > > >> > WSGIProcessGroup hatikva.com > > > >> > WSGIScriptAlias / /home/hatikva/store/apache/store.wsgi > > > > >> > but when I ps -A I don't see anything like wsgi:hatikva. Does this > > > >> > potentially mean it's not really running in daemon mode? If so any > > > >> > ideas on how it is running at all? > > > > >> > On Nov 11, 12:53 pm, Alex Robbins <[email protected]> > > > >> > wrote: > > > >> >> Yeah, looks like you are right. I think I normally used that > > > >> >> 'display-name option' that Graham mentioned. Sorry about the > > > >> >> confusion > > > >> >> there. If you use that, then do they show up in ps? > > > > >> >> Alex > > > > >> >> On Thu, Nov 11, 2010 at 2:47 PM, Josh <[email protected]> wrote: > > > >> >> > I also noticed that down near the bottom of this thread > > > > >> >> > >http://groups.google.com/group/modwsgi/browse_thread/thread/9d0e72b2c... > > > >> >> > Graham Dumpleton said that "Under 'top' or 'ps', the mod_wsgi > > > >> >> > daemon > > > >> >> > process will still show as a apache/httpd process." So I think it > > > >> >> > all > > > >> >> > gets lumped together. > > > > >> >> > On Nov 11, 12:38 pm, Josh <[email protected]> wrote: > > > >> >> >> Hmm, i don't think I'm actually seeing the daemons. What do they > > > >> >> >> show > > > >> >> >> up as under COMMAND (I dont see anything with wsgi). But there > > > >> >> >> is > > > >> >> >> another small dev site running on the same server (they are both > > > >> >> >> theoretically set up under daemon mode as I showed above). I > > > >> >> >> think > > > >> >> >> that if it wasn't in daemon mode they wouldn't both work > > > >> >> >> although I > > > >> >> >> could be wrong about that. Looking at the apache conf I posted > > > >> >> >> earlier does it seem that I have properly configured daemon mode? > > > >> >> >> Thanks. > > > > >> >> >> On Nov 11, 12:22 pm, Alex Robbins <[email protected]> > > > >> >> >> wrote: > > > > >> >> >> > If you are really running mod_wsgi in daemon mode, then django > > > >> >> >> > and > > > >> >> >> > satchmo won't be able to affect the size of the httpd > > > >> >> >> > processes. > > > >> >> >> > The > > > >> >> >> > python interpreter should live in the mod_wsgi daemon, which > > > >> >> >> > is a > > > >> >> >> > completely separate process. I have had troubles before with > > > >> >> >> > mod_wsgi > > > >> >> >> > running in embedded mode, even though it is supposed to be > > > >> >> >> > daemon. > > > >> >> >> > Can > > > >> >> >> > you see any processes for mod_wsgi? If you don't get the config > > > >> >> >> > exactly right, it won't use daemon mode. (This might not even > > > >> >> >> > be > > > >> >> >> > the > > > >> >> >> > problem, but if there aren't daemon processes something is > > > >> >> >> > misconfigured.) > > > > >> >> >> > If you can see the daemon processes, and httpd is separate and > > > >> >> >> > huge, > > > >> >> >> > then I'm not sure what is going on. It wouldn't be python > > > >> >> >> > making > > > >> >> >> > it > > > >> >> >> > big. Maybe there are some other modules installed? (mod_php, > > > >> >> >> > mod_rails > > > >> >> >> > or something like that?) > > > > >> >> >> > On Thu, Nov 11, 2010 at 2:07 PM, Josh <[email protected]> > > > >> >> >> > wrote: > > > >> >> >> > > Ok so the server is a VPS and it uses virtualmin and centos. > > > >> >> >> > > My > > > >> >> >> > > understanding is that each domain has its own httpd process > > > >> >> >> > > (two > > > >> >> >> > > if > > > >> >> >> > > you have ssl enabled). I have been watching the output of > > > >> >> >> > > top > > > >> >> >> > > for > > > >> >> >> > > awhile and when I say memory usage I am talking about the > > > >> >> >> > > virt > > > >> >> >> > > of a > > > >> >> >> > > specific httpd process. I am fairly certain that this is the > > > >> >> >> > > httpd > > > >> >> >> > > process which the site runs from because it is the correct > > > >> >> >> > > user > > > >> >> >> > > and as > > > >> >> >> > > I opened multiple connections the memory usage began going > > > >> >> >> > > up. > > > >> >> >> > > This > > > >> >> >> > > single httpd process now is up to 867m virt and 651m res. > > > >> >> >> > > There > > > >> >> >> > > are > > > >> >> >> > > other things on the system using memory but they have > > > >> >> >> > > remained > > > >> >> >> > > constant and I am concerned that a single process has gone > > > >> >> >> > > up so > > > >> >> >> > > much > > > >> >> >> > > when it seems that nothing is going on with the site. Thanks > > > >> >> >> > > for the > > > >> >> >> > > help. > > > > >> >> >> > > On Nov 11, 11:53 am, Alex Robbins > > > >> >> >> > > <[email protected]> > > > >> >> >> > > wrote: > > > >> >> >> > >> First off, mod_wsgi in daemon mode with apache should be a > > > >> >> >> > >> decent > > > >> >> >> > >> deployment method for ram consumption. I don't think your > > > >> >> >> > >> problem is > > > >> >> >> > >> there. > > > > >> >> >> > >> When you say the memory usage is 650mb, what is actually > > > >> >> >> > >> using > > > >> >> >> > >> all > > > >> >> >> > >> that memory? Is it httpd processes? The mod_wsgi processes? > > > > >> >> >> > >> On Thu, Nov 11, 2010 at 1:49 PM, Josh <[email protected]> > > > >> >> >> > >> wrote: > > > >> >> >> > >> > Oh yeah my urls looks like this: > > > > >> >> >> > >> > from django.conf.urls.defaults import * > > > >> >> >> > >> > from > > ... > > read more » -- You received this message because you are subscribed to the Google Groups "Satchmo users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/satchmo-users?hl=en.
