On occasion something triggers a "This Account has Exceeded Its CPU Quota".
Support was less then helpfull. So I did some reasearch. I pulled the logs from /tmp/cpu_exceeded_logs. Here are the entries that are causing the trigger:
[ 2-14-06 ]
82.00 seconds of cpu time for [[mysql query]]
63.00 seconds of cpu time for [[mysql query]]
195.00 seconds of cpu time for [[mysql query]]
[ 2-10-06 ]
136.02 seconds of cpu time for HTTP Request: GET /phpBB2/viewtopic.php
[ 1-30-06 ]
3.00 seconds of cpu time for [[mysql query]]
30.00 seconds of cpu time for [[mysql query]]
32.00 seconds of cpu time for [[mysql query]]
I've checked my logs, and there was little to no activity during these incidents, they all happened at off-peak times for my site. Php.ini is set at a max of 5 seconds for scripts. This site is a PhpBB2 forum, running the latest security build.
Since the site runs fine without any execution time problems 99% of the time, and there is no 'ad-hoc'. This makes me think that the problem lies on the MySQL side, or connectivity to it.
What would cause a query that runs fine 99% of the time to suddenly go from .1 seconds to 195 seconds for no apparent reason. The SQL statement is the same, the result set isn't drastically different.
I can run the SQL directly in phpMyAdmin and it executes in .1 seconds or less everytime.
The gentleman on support, told me to "find another host". Flat out refused to look into it, and told me that he would be "happy" to refund/prorate my money.
My first reaction was just that, to switch hosts. But being an IT guy I hate to walk away from problems, especially when it's only 1% or less of the time.
Isn't there a way we can track this down? Are there not logs on the MySQL server? Can't we figure out why a reapeatable SQL query goes to the weeds every now and then?