I have come across something that does not appear to be an issue right now, but I would like to address said issue before it does become a problem. My CGI environment consists of scripts run under mod_perl 2 and Apache 2.0.48, where Apache is compiled with the WinNT MPM (mpm_winnt.c). This means that I have one physical process handling requests, which uses threads to 'fork' off each request.
The issue I am bringing up is that of using DBI within this mod_perl environment. Not only am I keeping the database connection (to mysql) persistent; since the whole environment is threaded off via Apache, only a single database connection is established. This means that each and every request made to the mod_perl scripts work off of one database connection. I am worrying as to what will happen if and when these scripts start to see a heavy load. Is it perfectly safe for multiple instances of the same script to simultaneously access the same connection to the database? Or would I be suddenly hit with interferance between instances? Or is some method of sharing/locking mechanism automatically put in place that queues queries from each instance and serves each in turn?
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |