Copy link to clipboard
Copied
First, let me just apologize about the vagueness of this post.
We have a CF8 server on Web Server 2008 running IIS connecting to a remote Oracle server. Every 90 minutes, for a period of about 20 minutes, the server's response times explode to anywhere from 40-70 seconds or longer, where the response times are usually well under 10 seconds. This is only true for CFM pages. HTML pages respond quickly and the database doesn't seem to be the issue, as response times are normal on the other servers and through separate database testing.
I have checked the scheduled tasks on the problem server. None happen every 90 minutes, and the problem continues when the hourly and two hourly ones are paused or stopped (we have not tried deleting them). The server monitor doesn't indicate an abnormally high number of requests, and the logs don't seem to show a particularly or unusually high number of errors or emails being sent out during the spikes.
Both the sysadmin and I have been looking into this for a while and have tried everything we think is obvious, but apparently we're missing something.
Does anyone have suggestions for other things to check? Or an idea of causes?
Thank you.
Client sessions are stored in the system registry.
Where should I go from here?
CHANGE THAT SETTING AS SOON AS YOU CAN.
There is no way a production site should be using the registry to store client variables.
Depending on your client var usage, either set up the appropriate tables in a DB and use that, or use cookies. Personally I try to avoid using client vars, but I always store in the DB.
But don't use the registry. It can screw your server.
--
Adam
Copy link to clipboard
Copied
Are you sure it's 90 minutes? Could it be instead every 67 minutes? That's a specific and important mark: it's the default time for "client variable purge" to take place. (of course, you may well have changed it to happen every 90 minutes instead). See the CF Admin, Client Variables page, and its "purge interval" setting. I won't elaborate on this until you confirm if it may be the issue.
I'll note as well that the clock for this starts with the start of CF (so 67 minus into the run it will do the first purge, repeating every 67 minutes thereafter). You can confirm the exact time that the purge happens by viewing the \runtime\logs
/charlie
Providing CF troubleshooting services at carehart.org/consulting
charlie@carehart.org
Copy link to clipboard
Copied
From 5:09 this morning it has taken approximately 97 minutes, 91 minutes, 89 minutes, and most recently, 95 minutes. I checked our purge intervals and they are indeed 67 minutes, and our runtime log confirms this, so unfortunately, that is not the problem.
Thank you.
Copy link to clipboard
Copied
Actually, you may have something there . . .
I was initially only looking at the *start* times for these spikes, not the times in between them, which average between 70 and 80 minutes. I changed the purge interval to 1 hour and 40 minutes and lo and behold, it took almost exactly 1 hour and 40 minutes for the spikes to reappear.
Client sessions are stored in the system registry.
Where should I go from here?
Copy link to clipboard
Copied
Client sessions are stored in the system registry.
Where should I go from here?
CHANGE THAT SETTING AS SOON AS YOU CAN.
There is no way a production site should be using the registry to store client variables.
Depending on your client var usage, either set up the appropriate tables in a DB and use that, or use cookies. Personally I try to avoid using client vars, but I always store in the DB.
But don't use the registry. It can screw your server.
--
Adam
Copy link to clipboard
Copied
Made that change. No problems in the last two hours. I'll still keep an eye on it though!
Thanks!
Copy link to clipboard
Copied
When I changed it to 1:40 I noticed the lag time increased significantly from twenty minutes, so I brought it back down to 67. Now there's about a half an hour of good time, and an hour where the server is almost unusable.