Thanks for the tips & advice everyone - I'll look into some
logging/analytics of it all tomorrow.

On Thu, Mar 24, 2011 at 6:04 PM, Graham Dumpleton <
[email protected]> wrote:

> This is likely going to be an Apache configuration issue, but first
> step is to verify how much time is being spent in your actual
> application for the problematic requests. For that you can adapt code
> in:
>
>  http://code.google.com/p/modwsgi/wiki/RegisteringCleanupCode
>
> to track time spent in request and log it.
>
> As to Apache, my first suggestion would be to disable the DEFLATE
> output filter and see if that makes a difference. There could be some
> strange interaction going on.
>
> A further thing you can do is configure Apache to tag the time that it
> has finally accepted the request and is starting to process headers.
> You can do this with the Apache configuration:
>
>  RequestHeader add X-Queue-Start "%t"
>
> You will need  mod_headers loaded in Apache.
>
> This will result in a key in WSGI environ dictionary of:
>
>  X_QUEUE_START: t=1234
>
> where 1234 will be start time. It is milliseconds or microseconds. You
> can then adjust that to seconds and calculate difference to
> time.time() in WSGI application to see if delay is because of things
> being held up in Apache/mod_wsgi somehow before request actually
> handled.
>
> Graham
>
> On 25 March 2011 05:20, Ben Hayden <[email protected]> wrote:
> > I recently added in a test SSL setup to my mod_wsgi application to make
> sure
> > it was all gravy, but to my surprise, my app significantly slower when
> > rendering dynamic HTML/CSS that is being generated and returned from
> > mod_wsgi. When accessing the application under http and not https, its
> speed
> > is not an issue at all. Here's my config:
> >
> > <VirtualHost *:80>
> >     ServerAdmin [email protected]
> >     ServerName example.com
> >     ErrorLog /var/log/httpd/error_log
> >
> >     DocumentRoot /srv/nfs/example/www
> >
> >     Alias /htc/ /srv/nfs/example/www/htc/
> >     Alias /img/ /srv/nfs/example/www/img/
> >     Alias /js/ /srv/nfs/example/www/js/
> >     Alias /maintenance/ /srv/nfs/example/www/maintenance/
> >     Alias /pdf/ /srv/nfs/example/www/pdf/
> >     Alias /soap/ /srv/nfs/example/www/soap/
> >     Alias /swf/ /srv/nfs/example/www/swf/
> >     Alias /utils/ /srv/nfs/example/www/utils/
> >
> >     <Directory /srv/nfs/example/www>
> >         Order deny,allow
> >         Allow from all
> >
> >         # Insert filter
> >         SetOutputFilter DEFLATE
> >
> >         # Netscape 4.x has some problems...
> >         BrowserMatch ^Mozilla/4 gzip-only-text/html
> >
> >         # Netscape 4.06-4.08 have some more problems
> >         BrowserMatch ^Mozilla/4\.0[678] no-gzip
> >
> >         # MSIE masquerades as Netscape, but it is fine
> >         # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
> >
> >         # NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
> >         # the above regex won't work. You can use the following
> >         # workaround to get the desired effect:
> >         BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
> >
> >         # Don't compress images
> >         SetEnvIfNoCase Request_URI \
> >         \.(?:gif|jpe?g|png)$ no-gzip dont-vary
> >
> >         # Make sure proxies don't deliver the wrong content
> >         Header append Vary User-Agent env=!dont-vary
> >     </Directory>
> >
> >     WSGIScriptAlias / /srv/nfs/example/apache/example.wsgi
> >     WSGIDaemonProcess example.com user=apache group=apache processes=2
> > threads=5 display-name=%{GROUP} home=/tmp
> >     WSGIProcessGroup example.com
> >
> > </VirtualHost>
> >
> > <VirtualHost *:443>
> >     ServerAdmin [email protected]
> >     ServerName example.com
> >
> >     DocumentRoot /srv/nfs/example/www
> >
> >     Alias /htc/ /srv/nfs/example/www/htc/
> >     Alias /img/ /srv/nfs/example/www/img/
> >     Alias /js/ /srv/nfs/example/www/js/
> >     Alias /maintenance/ /srv/nfs/example/www/maintenance/
> >     Alias /pdf/ /srv/nfs/example/www/pdf/
> >     Alias /soap/ /srv/nfs/example/www/soap/
> >     Alias /swf/ /srv/nfs/example/www/swf/
> >     Alias /utils/ /srv/nfs/example/www/utils/
> >
> >     ErrorLog ssl_error_log
> >     TransferLog ssl_transfer_log
> >     CustomLog syslog access
> >
> >     SSLEngine on
> >     SSLProtocol all -SSLv2
> >     SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
> >     SSLCertificateFile /etc/httpd/ssl.d/trac.crt
> >     SSLCertificateKeyFile /etc/httpd/ssl.d/trac.key
> >
> >     SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
> >     CustomLog logs/ssl_request_log \
> >        "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
> >
> >     <Directory /srv/nfs/example/www>
> >         Order deny,allow
> >         Allow from all
> >
> >         # Insert filter
> >         SetOutputFilter DEFLATE
> >
> >         # Netscape 4.x has some problems...
> >         BrowserMatch ^Mozilla/4 gzip-only-text/html
> >
> >         # Netscape 4.06-4.08 have some more problems
> >         BrowserMatch ^Mozilla/4\.0[678] no-gzip
> >
> >         # MSIE masquerades as Netscape, but it is fine
> >         # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
> >
> >         # NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
> >         # the above regex won't work. You can use the following
> >         # workaround to get the desired effect:
> >         BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
> >
> >         # Don't compress images
> >         SetEnvIfNoCase Request_URI \
> >         \.(?:gif|jpe?g|png)$ no-gzip dont-vary
> >
> >         # Make sure proxies don't deliver the wrong content
> >         Header append Vary User-Agent env=!dont-vary
> >     </Directory>
> >
> >     WSGIScriptAlias / /srv/nfs/example/apache/example.wsgi
> >     WSGIDaemonProcess ssl.example.com user=apache group=apache
> processes=2
> > threads=5 display-name=%{GROUP} home=/tmp
> >     WSGIProcessGroup ssl.example.com
> >
> > </VirtualHost>
> >
> > Any Ideas?
> >
> > --
> > 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.
> >
>
> --
> 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.
>
>

-- 
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.

Reply via email to