I'm afraid I never really figured out any of that, but what I can state is that moving to a VPS helped and also that recent DNN upgrades seemed to reduce the appearance of a variety of errors. I'm not getting all those process deadlocks like I used to. I spent some time in Enterprise Manager looking at all the threads on the server and I believe that other sites sharing the db may well be part of the issue.
Oh.. one thing that might help is that I altered all the scheduler timings to reduce the likelihood that they start at the same time.. (Though surely that can't be the actual cause of a deadlock in a modern computing system?)
I set the standard scheduled items up like this:
Type |
Enabled |
Frequency |
Retry Time Lapse |
Next Start |
DotNetNuke.Entities.Users.PurgeUsersOnline, DOTNETNUKE |
y |
Every 1 Minute |
Every 5 Minutes |
5/24/2007 3:25:08 PM |
DotNetNuke.Services.Log.SiteLog.PurgeSiteLog, DOTNETNUKE |
y |
Every 1 Day |
Every 2 Hours |
5/24/2007 5:52:55 PM |
DotNetNuke.Services.Scheduling.PurgeScheduleHistory, DOTNETNUKE |
y |
Every 1439 Minutes |
Every 2 Days |
5/24/2007 5:51:55 PM |
DotNetNuke.Services.Search.SearchEngineScheduler, DOTNETNUKE |
y |
Every 1430 Minutes |
Every 60 Minutes |
5/24/2007 5:42:55 PM |
The big one was to change the search engine to just under once per day, which is plenty in my situation. I can't specifically say if it works (because of the already mentioned updates and upgrades I also made at the time) but maybe it helps.
Currently I only have one fairly regular grouping of errors.. the same old:
InnerException: Add failed. Duplicate key value supplied.
Message: System.ArgumentException: Add failed. Duplicate key value supplied. at Microsoft.VisualBasic.Collection.Add(Object Item, String Key, Object Before, Object After) at DotNetNuke.Services.Scheduling.DNNScheduling.Scheduler.CoreScheduler.AddToScheduleInProgress(ScheduleHistoryItem objScheduleHistoryItem) at DotNetNuke.Services.Scheduling.DNNScheduling.Scheduler.CoreScheduler.WorkStarted(SchedulerClient& objSchedulerClient)
I'd love to know if the error has any relevance or not.
I'm now also more able to sift out meaningless errors than I used to be, so even though there's often a lot of red in there, I know why it's there.
That's about everything I can say about it really.
Regards,
Rob