Hi Mike,
I tried with custom persistent connection, but results in same error. My 
environment is Django + postgres + nginx + gunicorn

On Saturday, August 29, 2009 at 5:38:58 PM UTC+5:30, Mike wrote:
>
> Hi, 
>
> I made some small custom psycopg2 backend that implements persistent 
> connection using global variable. With this I was able to improve the 
> amount of requests per second from 350 to 1600 (on very simple page 
> with few selects) Just save it in the file called base.py in any 
> directory (e.g. postgresql_psycopg2_persistent) and set in settings: 
>
> DATABASE_ENGINE to projectname.postgresql_psycopg2_persistent 
>
> Here is a source: http://dpaste.com/hold/86948/ 
>
> # Custom DB backend postgresql_psycopg2 based 
> # implements persistent database connection using global variable 
>
> from django.db.backends.postgresql_psycopg2.base import DatabaseError, 
> DatabaseWrapper as BaseDatabaseWrapper, \ 
>     IntegrityError 
> from psycopg2 import OperationalError 
>
> connection = None 
>
> class DatabaseWrapper(BaseDatabaseWrapper): 
>     def _cursor(self, *args, **kwargs): 
>         global connection 
>         if connection is not None and self.connection is None: 
>             try: # Check if connection is alive 
>                 connection.cursor().execute('SELECT 1') 
>             except OperationalError: # The connection is not working, 
> need reconnect 
>                 connection = None 
>             else: 
>                 self.connection = connection 
>         cursor = super(DatabaseWrapper, self)._cursor(*args, **kwargs) 
>         if connection is None and self.connection is not None: 
>             connection = self.connection 
>         return cursor 
>
>     def close(self): 
>         if self.connection is not None: 
>             self.connection.commit() 
>             self.connection = None 
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/00ae685a-16c9-443e-92be-5150eddbf27a%40googlegroups.com.

Reply via email to