On 14 May 2010 02:23, Mark Baker <[email protected]> wrote: > Hi, > > I'm trying to track down a sporadic delay problem that's giving us > some grief. I know very little about the inner workings of WSGI/ > mod_wsgi, and wasn't quite sure what to make of an strace log I made > of the Apache instance that was handling a POST to a Moin wiki (same > machine as the client). From the client's POV - verified with strace > - the POST request went out at 11:16:10, and the response was received > at 11:16:21. > > 21827 11:16:10.042475 connect(12, {sa_family=AF_FILE, path="/var/run/ > apache2/wsgi.11746.39.2.sock"}, 110) = 0 > 21827 11:16:10.042713 write(12, "P\5\0\0\0\0\0\0D > \0\0\0\0\0\0\0GATEWAY_INTERFAC"..., 1368 <unfinished ...> > 21827 11:16:10.042812 <... write resumed> ) = 1368 > 21827 11:16:10.042874 read(12, <unfinished ...> > 21827 11:16:10.123919 <... read resumed> "Status: 0 Continue\r\n\r\n", > 8000) = 22 > 21827 11:16:10.124037 fcntl(12, F_GETFL <unfinished ...> > 21827 11:16:10.124120 <... fcntl resumed> ) = 0x2 (flags O_RDWR) > 21827 11:16:10.124201 fcntl(12, F_SETFL, O_RDWR|O_NONBLOCK > <unfinished ...> > 21827 11:16:10.124344 <... fcntl resumed> ) = 0 > 21827 11:16:10.124432 write(12, "action=edit&ticket=004bec17b5.4d"..., > 2290 <unfinished ...> > 21827 11:16:10.124518 <... write resumed> ) = 2290 > 21827 11:16:10.124601 fcntl(12, F_GETFL <unfinished ...> > 21827 11:16:10.124688 <... fcntl resumed> ) = 0x802 (flags O_RDWR| > O_NONBLOCK) > 21827 11:16:10.124734 fcntl(12, F_SETFL, O_RDWR) = 0 > 21827 11:16:10.124810 shutdown(12, 1 /* send */) = 0 > 21827 11:16:10.124930 read(12, <unfinished ...> > 21827 11:16:21.917191 <... read resumed> "Status: 200 OK\r\nVary: > Cookie, Us"..., 8000) = 2125 > > Due to the successful shutdown(), I would expect the client to receive > the response at that time, but as mentioned, it doesn't receive it > until the follow-on read unblocks. > > Any ideas what's going on?
What do you have 'Timeout' directive in Apache set to? Is it 10 seconds? What operating system is this on? What do you get on that operating system when you run following in Python on command line? >>> import socket >>> s = socket.socket(socket.AF_UNIX) >>> s.getsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF) 8192 Graham -- 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.
