A quick warning about your approach: if you use that in multi-threaded environment, you are toasted. You will get two concurrent users for the same connection, and that will not work nicely. For example transaction control will be broken. That is also the reason why that sort of thing is not used in Django.
As for connection pooling, there is a patch (ticket 17258) which is somewhat likely to get in that should allow much easier creation of connection pools by external projects. - Anssi On Dec 14, 1:33 pm, nipunreddevil <nipunredde...@gmail.com> wrote: > Hi, > > I have gone similar threads > likehttp://stackoverflow.com/questions/1125504/django-persistent-database... > 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 > onhttp://stackoverflow.com/questions/8502814/django-persistent-db-conne... > 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.