WeBWorK Main Forum

Database connections opened by WeBWorK

Re: Database connections opened by WeBWorK

by Danny Glin -
Number of replies: 0
I don't see any aborted connections in my log files, but that could just be because they're not being logged. Also, my system is running on CentOS. If you're running on Ubuntu, then perhaps other people here using Ubuntu can chime in with whether they have similar log entries.

I'm actually just guessing that each apache process reuses the same connection. You can log in to the mysql console and run 'show connections' to see which processes currently have open connections. When I do this, I see that even idle apache processes stay connected to the database.

Based on your apache settings I have a revised theory similar to what I originally suggested:
With MaxSpareServers set to 10, apache will only keep 10 idle processes running, and kill any additional idle processes. Since MaxRequestWorkers is 150, apache is allowed to start up to 150 processes to serve concurrent requests. This means that at the start of a quiz, apache has to start a large number of processes to serve all of the requests. As soon as these requests are complete, it kills off all but 10 of these, and possibly does not properly close the database connection, which means that mysql has to wait for them to time out.

It's also possible that there is something in your mysql (or possibly apache) configuration which is causing the server to wait some amount of time before closing these connections, but I'm not sure where you would start looking for that.

What OS and version are you using?