EPiServer goes down every 24 hours for 1-2 hours. Comes back up without help. Why?
Vote:
An EPiServer website is crashing periodically - roughly once every 24 hours. After 1 - 2 hours, it comes back up without intervention.
During downtime, a web request yields the following stacktrace:
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +862234
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +739110
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +188
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1956
System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +31
System.Data.SqlClient.SqlDataReader.get_MetaData() +62
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +297
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +903
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +132
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +32
System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +122
System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +12
System.Data.Common.DbCommand.ExecuteReader() +9
EPiServer.DataAccess.AbstractCommand.ExecuteReader(Int32 resultSetCount) +39
EPiServer.DataAccess.PageLoadDB.LoadPageInternal(PageReference pageLink, AbstractCommand cmd) +128
EPiServer.DataAccess.PageLoadDB.LoadPage(PageReference pageLink) +245
EPiServer.LocalPageStore.GetPageLocal(PageReference pageLink, ILanguageSelector selector) +189
EPiServer.<>c__DisplayClass4.b__3() +24
EPiServer.Core.OptimisticCache`1.Read(String cacheKey, ReadAndCacheObject`1 readAndCacheObject) +334
EPiServer.LocalPageStore.GetPageRaw(PageReference pageLink, ILanguageSelector selector) +249
EPiServer.LocalPageStore.GetPage(PageReference pageLink, ILanguageSelector selector, AccessLevel access) +590
EPiServer.DataFactory.GetPage(PageReference pageLink, ILanguageSelector selector, AccessLevel access) +334
EPiServer.Web.FriendlyUrlRewriteProvider.GetPageByPath(PageReference startPage, String path, LanguageBranch languageBranch, AccessLevel access) +359
EPiServer.Web.FriendlyUrlRewriteProvider.GetPageFromStartByPath(String path, LanguageBranch languageBranch, AccessLevel access) +135
EPiServer.Web.FriendlyUrlRewriteProvider.ConvertToInternalInternal(UrlBuilder url, Object& internalObject) +667
EPiServer.Web.FriendlyUrlRewriteProvider.ConvertToInternal(UrlBuilder url, Object& internalObject) +568
EPiServer.Web.UrlRewriteModule.HttpUrlRewriteToInternal(UrlBuilder url) +316
EPiServer.Web.UrlRewriteModuleBase.BeginRequestEventHandler(Object sender, EventArgs e) +234
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +92
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64
Other databases on the SQL server remains online during the downtime and still answers over TCP.
What knobs might I need to fiddle with in order to find the cause of this exception?
The stacktrace mentions the OptimisticCache and FriendlyUrlRewriteProvider - do these need extra nightly maintenance?
>