On Thu, Nov 20, 2008 at 5:26 PM, Graham Dumpleton
<[EMAIL PROTECTED]> wrote:
>
> 2008/11/21 Alex Ezell <[EMAIL PROTECTED]>:
>>
>> We recently tried to deploy mod_wsgi (v2.3) with Apache 2.x in our
>> Django stack. On our beta machines, with little to no load, it worked
>> fantastically.
>
> What operating system/variant/version are you using?
Ubuntu 7.10
> Which Apache MPM are you using, prefork or worker?
It's the prefork MPM.
>> 1) Is there information on this error that I could peruse?
>
> Only really what I make up as I go along. ;-)
That works for me. :)
>> 2) Does anyone know whether this is just a sorry configuration for
>> mod_wsgi or is it something deeper and more nefarious?
>
> Have you overridden the default Apache configuration setting of:
>
> TimeOut 300
>
> If so, what is it set to.
We have not overridden this directive in our conf files, so it'd be
using that default.
> Would it be possible in Apache configuration to set:
>
> LogLevel debug
>
> This will generate a lot more output in Apache error log, but it may
> cause Apache input filters to dump out information about what bucket
> brigade access is failing.
I can try this, but one challenge is that we only ever see the issue
under production load. I can try to hook up 'ab' or something and
hammer a test machine. I might be able to force the error with this
logging turned on. If so, I'll post anything that looks curious.
>> 3) Perhaps this has nothing to do with mod_wsgi, in which case, I
>> apologize for wasting your time, but would love a pointer to somewhere
>> better I might ask this question.
>
> A work around for this may be to not delegate the specific URL which
> is performing the upload to the daemon process group but allow it to
> be run in the context of embedded mode. This will mean though that
> Apache worker process will incur a hit on memory usage as will now run
> part of your Django application. If this is acceptable, configuration
> would be:
>
> <Location /some/url/to/upload/handler>
> WSGIProcessGroup %{GLOBAL}
> </Location>
>
> I am not entirely sure this will help, but when using daemon mode
> there is a slight difference in the way that request content is dealt
> with. In daemon mode the Apache input bucket brigade is accessed
> directly where as in embedded mode an older Apache API for dealing
> with request content is used which deals with buckets rather than
> mod_wsgi doing it directly.
Thanks for this workaround. I think we'll poke through the logging
stuff above before we do this. I'm a little reticent to have Apache
handling the Django requests though this alternate API sounds
promising. I might hold this in reserve if other efforts prove
fruitless.
> When I get a chance I'll try and track through code to see if I can
> see under what circumstances bucket brigade access may fail.
Thanks so much for your help and detailed response. I really
appreciate it. We know that mod_wsgi is the way to go in the long run,
so we're excited to get past this little bump in the road.
/alex
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"modwsgi" 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/modwsgi?hl=en
-~----------~----~----~----~------~----~------~--~---