Let me also summarize the issues so far.

Originally:
  - I got three types of error messages in apache logs
  - Logging messages were often duplicated 2, 3, 5 times
  - I got the IOError ticket a few times
  - After a while the web serving slowed (some requests took up to a
minute) and then quit completely

After rebooting:
  - I get one type of error message in apache logs, in big batches
  - I get the IOError ticket once or twice
  - After a while web serving slows (sometimes 150s per request) and
stops

So I haven't been seeing the duplicate log messages anymore.

I upgraded to a bigger machine and am changing my code to remove ajax
(will reduce load by 60x by decreasing functionality). I don't know
what else to do.

On Jul 20, 2:03 am, mdipierro <mdipie...@cs.depaul.edu> wrote:
> Thanks for the clarification.
>
> @Michael, do you use the logging module? How?
>
> On Jul 20, 4:00 am, Graham Dumpleton <graham.dumple...@gmail.com>
> wrote:
>
>
>
> > On Jul 20, 5:17 pm, mdipierro <mdipie...@cs.depaul.edu> wrote:
>
> > > The problem with IOError, I can understand. As Graham says, if the
> > > client closes the connection before the server responds or if the
> > > server timesout the socket is closed and apache logs the IOError.
>
> > That isn't what I said. If you see that message when using daemon
> > mode, the Apache server process that is proxying to the daemon process
> > is crashing. This is different to the HTTP client closing the
> > connection. You would only see that message if HTTP client closed
> > connection if using embedded mode.
>
> > I know they are using daemon mode as that is the only situation where
> > they could also see the message about premature end of script headers.
>
> > > What I really do not understand is why some requests are handled by
> > > multiple threads. web2py is agnostic to this (unless you use Rocket
> > > which you do not). web2py only provides a wsgi application which is
> > > executed - per thread - by the web server. It is the web server (in
> > > your case apache) that spans the thread, maps requests to threads,
> > > calls the web2py wsgi application for each of them.
>
> > > If this is happening it is a problem with apache or with mod_wsgi.
>
> > More likely the problem is that they are registering the logging
> > module from multiple places and that is why logging is displayed more
> > than once. They should log the thread ID as well as that would confirm
> > whether actually from the same thread where logging module handler has
> > been registered multiple times.
>
> > Multiple registrations of logging handler could occur if it isn't done
> > in a thread safe why, ie., so as to avoid multiple threads doing it at
> > the same time.
>
> > Graham
>
> > > Can
> > > you tell us more about the version of ubuntu, apache and mod_wsgi that
> > > you are using? Any additional information will be very useful.
>
> > > Massimo
>
> > > On Jul 19, 9:01 pm, Michael Toomim <too...@gmail.com> wrote:
>
> > > > I'm getting errors like these in my apache error logs:
>
> > > > [Mon Jul 19 18:55:20 2010] [error] [client 65.35.93.74] Premature end
> > > > of script headers: wsgihandler.py, 
> > > > referer:http://yuno.us/init/hits/hit?assignmentId=1A7KADKCHTB1IJS3Z5CR16OZM4V...
> > > > [Mon Jul 19 18:55:20 2010] [error] [client 143.166.226.43] Premature
> > > > end of script headers: wsgihandler.py, 
> > > > referer:http://yuno.us/init/hits/hit?assignmentId=1A9FV5YBGVV54NALMIRILFKHPT1...
> > > > [Mon Jul 19 18:55:50 2010] [error] [client 117.204.99.178] mod_wsgi
> > > > (pid=7730): Exception occurred processing WSGI script '/home/toomim/
> > > > projects/utility/web2py/wsgihandler.py'.
> > > > [Mon Jul 19 18:55:50 2010] [error] [client 117.201.42.84] mod_wsgi
> > > > (pid=7730): Exception occurred processing WSGI script '/home/toomim/
> > > > projects/utility/web2py/wsgihandler.py'.
> > > > [Mon Jul 19 18:55:50 2010] [error] [client 117.201.42.84] mod_wsgi
> > > > (pid=7730): Exception occurred processing WSGI script '/home/toomim/
> > > > projects/utility/web2py/wsgihandler.py'.
> > > > [Mon Jul 19 18:55:50 2010] [error] [client 117.201.42.84] IOError:
> > > > failed to write data
> > > > [Mon Jul 19 18:55:50 2010] [error] [client 117.201.42.84] mod_wsgi
> > > > (pid=7730): Exception occurred processing WSGI script '/home/toomim/
> > > > projects/utility/web2py/wsgihandler.py'.
> > > > [Mon Jul 19 18:55:50 2010] [error] [client 117.201.42.84] IOError:
> > > > failed to write data
> > > > [Mon Jul 19 18:55:50 2010] [error] [client 117.201.42.84] mod_wsgi
> > > > (pid=7730): Exception occurred processing WSGI script '/home/toomim/
> > > > projects/utility/web2py/wsgihandler.py'.
> > > > [Mon Jul 19 18:55:50 2010] [error] [client 117.201.42.84] IOError:
> > > > failed to write data
> > > > [Mon Jul 19 18:55:50 2010] [error] [client 117.201.42.84] mod_wsgi
> > > > (pid=7730): Exception occurred processing WSGI script '/home/toomim/
> > > > projects/utility/web2py/wsgihandler.py'.
> > > > [Mon Jul 19 18:55:50 2010] [error] [client 117.201.42.84] IOError:
> > > > failed to write data
>
> > > > My web app gets about 7 requests per second. At first, things work
> > > > fine. Then after a while it seems like every request gets handled by
> > > > MULTIPLE threads, because my logging.debug() statements print multiple
> > > > copies of each message and it seems my database gets multiple entries.
> > > > And I get these errors in the apache logs (with LogLevel debug).
>
> > > > Any idea what to do? Where to look? I'm on ubuntu.

Reply via email to