No subject


Sat Dec 10 13:40:36 UTC 2011


either the paster configuration options for anything related to
timeouts, thread pools, handling of incomplete requests and so on. Or
use a more production quality web server like Apache (mod_wsgi), Nginx
(gevent/gunicon) which likely has better default configuration values
for these things.

Hanno

On Mon, May 7, 2012 at 5:38 PM, Claudiu Saftoiu <csaftoiu at gmail.com> wrote:
> Hello all,
>
> I'm using Repoze.BFG, with paster to launch the webserver. This is a
> similar issue to the one I emailed about before titled
> "server stops handling requests - nowhere near 100% CPU or Memory
> used"
>
> The situation is the same. I used z3c.deadlockdebugger , and what
> I notice is that, when the server is blocked, there are about 100
> threads running (as opposed to 15 or so when the server has
> just started), and all their stack traces look like this:
>
> Thread 140269004887808:
> =C2=A0 File "/usr/lib/python2.6/threading.py", line 504, in __bootstrap
> =C2=A0 =C2=A0 self.__bootstrap_inner()
> =C2=A0 File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_i=
nner
> =C2=A0 =C2=A0 self.run()
> =C2=A0 File "/usr/lib/python2.6/threading.py", line 484, in run
> =C2=A0 =C2=A0 self.__target(*self.__args, **self.__kwargs)
> =C2=A0 File "/home/tsa/env/lib/python2.6/site-packages/paste/httpserver.p=
y", line
> 878, in worker_thread_callback
> =C2=A0 =C2=A0 runnable()
> =C2=A0 File "/home/tsa/env/lib/python2.6/site-packages/paste/httpserver.p=
y", line
> 1052, in <lambda>
> =C2=A0 =C2=A0 lambda: self.process_request_in_thread(request, client_addr=
ess))
> =C2=A0 File "/home/tsa/env/lib/python2.6/site-packages/paste/httpserver.p=
y", line
> 1068, in process_request_in_thread
> =C2=A0 =C2=A0 self.finish_request(request, client_address)
> =C2=A0 File "/usr/lib/python2.6/SocketServer.py", line 322, in finish_req=
uest
> =C2=A0 =C2=A0 self.RequestHandlerClass(request, client_address, self)
> =C2=A0 File "/usr/lib/python2.6/SocketServer.py", line 617, in __init__
> =C2=A0 =C2=A0 self.handle()
> =C2=A0 File "/home/tsa/env/lib/python2.6/site-packages/paste/httpserver.p=
y", line
> 442, in handle
> =C2=A0 =C2=A0 BaseHTTPRequestHandler.handle(self)
> =C2=A0 File "/usr/lib/python2.6/BaseHTTPServer.py", line 329, in handle
> =C2=A0 =C2=A0 self.handle_one_request()
> =C2=A0 File "/home/tsa/env/lib/python2.6/site-packages/paste/httpserver.p=
y", line
> 437, in handle_one_request
> =C2=A0 =C2=A0 self.wsgi_execute()
> =C2=A0 File "/home/tsa/env/lib/python2.6/site-packages/paste/httpserver.p=
y", line
> 287, in wsgi_execute
> =C2=A0 =C2=A0 self.wsgi_start_response)
> =C2=A0 File
> "/home/tsa/env/lib/python2.6/site-packages/repoze/zodbconn/connector.py",
> line 18, in __call__
> =C2=A0 =C2=A0 conn =3D self.db.open()
> =C2=A0 File "/home/tsa/env/lib/python2.6/site-packages/ZODB/DB.py", line =
729, in
> open
> =C2=A0 =C2=A0 self._a()
> =C2=A0 File "/usr/lib/python2.6/threading.py", line 123, in acquire
> =C2=A0 =C2=A0 rc =3D self.__block.acquire(blocking)
>
> The server gets to a blocked state every 24 hours or so. Simply restartin=
g
> the webserver works fine; however, i'd like to know what the problem is s=
o
> restarting won't be necessary, and to prevent it from getting worse. Any
> ideas/
> suggestions?
>
> Thanks,
> - Claudiu
>
> _______________________________________________
> For more information about ZODB, see http://zodb.org/
>
> ZODB-Dev mailing list =C2=A0- =C2=A0ZODB-Dev at zope.org
> https://mail.zope.org/mailman/listinfo/zodb-dev
>


More information about the ZODB-Dev mailing list