Asp.net System.Net.Sockets.SocketException的原因是什么:在高负载的MongoDB上

Asp.net System.Net.Sockets.SocketException的原因是什么:在高负载的MongoDB上,asp.net,mongodb,sitecore,Asp.net,Mongodb,Sitecore,我有一个应用程序运行在sitecore 7.5上,带有mongo(副本集中有3台服务器),在高负载期间,mongo没有响应,我得到以下错误 System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed becaus

我有一个应用程序运行在sitecore 7.5上,带有mongo(副本集中有3台服务器),在高负载期间,mongo没有响应,我得到以下错误

System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond      xx.xx.xx.xxx:27017

Sample stack trace
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot,     SocketAddress socketAddress)
at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
at System.Net.Sockets.TcpClient.Connect(IPEndPoint remoteEP)
at MongoDB.Driver.Internal.MongoConnection.Open()
at MongoDB.Driver.Internal.MongoConnection.SendMessage(BsonBuffer buffer, Int32 requestId)
at MongoDB.Driver.Internal.MongoConnection.SendMessage(MongoRequestMessage message)
at MongoDB.Driver.Operations.CommandOperation`1.Execute(MongoConnection connection)
at MongoDB.Driver.MongoCollection.RunCommandAs[TCommandResult](IMongoCommand command, IBsonSerializer resultSerializer, IBsonSerializationOptions resultSerializationOptions)
at MongoDB.Driver.MongoCollection.RunCommandAs[TCommandResult](IMongoCommand command)
at MongoDB.Driver.MongoCollection.FindAndModify(IMongoQuery query, IMongoSortBy sortBy, IMongoUpdate update, IMongoFields fields, Boolean returnNew, Boolean upsert)
at MongoDB.Driver.MongoCollection.FindAndModify(IMongoQuery query, IMongoSortBy sortBy, IMongoUpdate update, Boolean returnNew, Boolean upsert)
at Sitecore.SessionProvider.MongoDB.MongoSessionStateStore.GetItemExclusive(String application, String id, SessionStateLockCookie lockCookie, Int32& flags)
at Sitecore.SessionProvider.MongoDB.SimpleMongoSessionStateStore.GetItemExclusive(String application, String id, SessionStateLockCookie lockCookie, Int32& flags)
at Sitecore.SessionProvider.MongoDB.MongoSessionStateProvider.GetItemExclusive(HttpContext context, String id, Boolean& locked, TimeSpan& lockAge, Object& lockId, SessionStateActions& actions)
at System.Web.SessionState.SessionStateModule.GetSessionStateItem()
at System.Web.SessionState.SessionStateModule.BeginAcquireState(Object source, EventArgs e, AsyncCallback cb, Object extraData)
at System.Web.HttpApplication.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&     completedSynchronously)

以前有人遇到过这种情况吗?有人对在哪里查看有什么建议/想法吗?

我看到您正在使用MongoDB作为会话存储。为什么要复制会话数据库?这自然会降低性能,我不认为这有什么好处。我使用mongo来维护会话状态并缓存一些信息。我在三个可用区域上有3台服务器,以确保它们始终可用。您正在运行哪个版本的MongoDB?最近2.6在加载时出现了性能问题,升级到3.2有助于提高2.2.6.12的性能。您是否也使用sitecore 7.5,因为我想知道升级mongo可能会导致sitecore出现问题。我发现您正在使用MongoDB作为会话存储。为什么要复制会话数据库?这自然会降低性能,我不认为这有什么好处。我使用mongo来维护会话状态并缓存一些信息。我在三个可用区域上有3台服务器,以确保它们始终可用。您正在运行哪个版本的MongoDB?最近2.6在加载时出现了性能问题,升级到3.2有助于提高2.2.6.12的性能。您是否也使用sitecore 7.5,因为我想知道升级mongo可能会导致sitecore出现问题。