Hi, I have gone similar threads like http://stackoverflow.com/questions/1125504/django-persistent-database-connection and other stuff on same topic. However Django doesn't officially support persistent connections to MySQL and Mongo(to my limited knowledge).So i tried avoiding a lot of stuff and tried to make it simple.So what i did was in my views.py made global connection variables for both MongoDB and MySQL,something like:
from pymongo import Connection import MySQLdb global mongo_connection,mongo_db,collection,mysql_connection,mysql_cursor mysql_connection = MySQLdb.connect (host = "localhost", user = "root", passwd = "password", db = "demo") mysql_cursor = mysql_connection.cursor () mongo_connection = Connection() mongo_db = mongo_connection.test_database collection = mongo_db.test_collection So after this when the required view is called as per URL requested,i dump the data in the two databases.Like: mysql_cursor.execute('''INSERT INTO table_name(l,n_n,n_id,s_n,s_id,u,r) VALUES (%s,%s,%s,%s,%s,%s,%s)''', (l,n_n,n_id,s_name,s_id,u,re) ) And similarly i did for saving to MongoDB. Obviously there's this flaw in this approach that i am not closing the connection anywhere.But this approach does seem to work and work well. Why is this sort of approach not used? How can i measure the performance improvements i get by using this approach v/s letting Django create a new connection to DB on each call. Also a batch insert is supposed to make things even better,by reducing calls to DB.How can such a concept be implemented within view definition? Here is how my application behaved before i had used my method of trying to make a persistent connection and had let Django take care of it mysql> show status like '%onn%'; +--------------------------+--------+ | Variable_name | Value | +--------------------------+--------+ | Aborted_connects | 0 | | Connections | 164359 | | Max_used_connections | 3 | | Ssl_client_connects | 0 | | Ssl_connect_renegotiates | 0 | | Ssl_finished_connects | 0 | | Threads_connected | 1 | +--------------------------+--------+ 7 rows in set (0.00 sec) After a few seconds when i ran the same query i got: mysql> show status like '%onn%'; +--------------------------+--------+ | Variable_name | Value | +--------------------------+--------+ | Aborted_connects | 0 | | Connections | 175047 | | Max_used_connections | 3 | | Ssl_client_connects | 0 | | Ssl_connect_renegotiates | 0 | | Ssl_finished_connects | 0 | | Threads_connected | 1 | +--------------------------+--------+ 7 rows in set (0.00 sec) However after using my approach the number of connections didn't increase. NB:I have posted same post on http://stackoverflow.com/questions/8502814/django-persistent-db-connections-a-different-approach but thought this might be a good place to get the answer -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.