Hi,

I'm almost ready to go on production (sort of) with two sites i'm
building built with turbogears.
After deploying with mod_python/Apacje2 on a debian box I decided to
stress the server with ab2 but, unfortunately, if I go over 10
concurrent requests, the server log (cherrypy's) gets crowded with
tracebacks like these:

15/Jan/2006:22:05:00 HTTP INFO Traceback (most recent call last):
  File
"/usr/lib/python2.4/site-packages/CherryPy-2.2.0beta-py2.4.egg/cherrypy/_cphttptools.py",
line 96, in _run
    applyFilters('before_main')
  File
"/usr/lib/python2.4/site-packages/CherryPy-2.2.0beta-py2.4.egg/cherrypy/filters/__init__.py",
line 131, in applyFilters
    method()
  File "/home/alberto/turbogears/turbogears/visit.py", line 99, in
beforeMain
    visit=self.get_visit()
  File "/home/alberto/turbogears/turbogears/visit.py", line 139, in
get_visit
    return self.new_visit()
  File "/home/alberto/turbogears/turbogears/visit.py", line 122, in
new_visit
    visit= TG_Visit( visit_key=visit_key, expiry=now+self.timeout )
  File
"/usr/lib/python2.4/site-packages/SQLObject-0.7.1dev_r1500-py2.4.egg/sqlobject/main.py",
line 1197, in __init__
    self._create(id, **kw)
  File
"/usr/lib/python2.4/site-packages/SQLObject-0.7.1dev_r1500-py2.4.egg/sqlobject/main.py",
line 1221, in _create
    self.set(**kw)
  File
"/usr/lib/python2.4/site-packages/SQLObject-0.7.1dev_r1500-py2.4.egg/sqlobject/main.py",
line 1142, in set
    self._connection._SO_update(self, args)
  File
"/usr/lib/python2.4/site-packages/SQLObject-0.7.1dev_r1500-py2.4.egg/sqlobject/dbconnection.py",
line 561, in _SO_update
    self.query("UPDATE %s SET %s WHERE %s = %s" %
AttributeError: 'TG_Visit' object has no attribute 'id'

15/Jan/2006:22:05:00 HTTP INFO Traceback (most recent call last):
  File
"/usr/lib/python2.4/site-packages/CherryPy-2.2.0beta-py2.4.egg/cherrypy/_cphttptools.py",
line 96, in _run
    applyFilters('before_main')
  File
"/usr/lib/python2.4/site-packages/CherryPy-2.2.0beta-py2.4.egg/cherrypy/filters/__init__.py",
line 131, in applyFilters
    method()
  File "/home/alberto/turbogears/turbogears/visit.py", line 99, in
beforeMain
    visit=self.get_visit()
  File "/home/alberto/turbogears/turbogears/visit.py", line 139, in
get_visit
    return self.new_visit()
  File "/home/alberto/turbogears/turbogears/visit.py", line 122, in
new_visit
    visit= TG_Visit( visit_key=visit_key, expiry=now+self.timeout )
  File
"/usr/lib/python2.4/site-packages/SQLObject-0.7.1dev_r1500-py2.4.egg/sqlobject/main.py",
line 1197, in __init__
    self._create(id, **kw)
  File
"/usr/lib/python2.4/site-packages/SQLObject-0.7.1dev_r1500-py2.4.egg/sqlobject/main.py",
line 1224, in _create
    self._SO_finishCreate(id)
  File
"/usr/lib/python2.4/site-packages/SQLObject-0.7.1dev_r1500-py2.4.egg/sqlobject/main.py",
line 1242, in _SO_finishCreate
    del self.sqlmeta._creating
AttributeError: _creating

ab2 says 411 requests failed (out of 500), which is intolerable for
me/my client.

I can reproduce the problem with cherrypy's built in server so I don't
think it's mod_python related. Seems to me sqlobject, multithread
related... Anyone experienced similar problems under high load?

Cheers, Alberto

Reply via email to