Случайный Microsoft.AnalysisServices.AdomdClient.AdomdConnectionException
У меня проблема с AdomdConnection для SSAS. Он работает нормально в 99% случаев, но иногда я получаю следующую ошибку:
2012-07-25 09:58:47.5286|ERROR|BI.AdoMD.CubeConnectionAttribute|Microsoft.AnalysisServices.AdomdClient.AdomdConnectionException: A connection cannot be made. Ensure that the server is running. ---> 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
at System.Net.Sockets.TcpClient..ctor(String hostname, Int32 port)
at Microsoft.AnalysisServices.AdomdClient.XmlaClient.GetTcpClient(ConnectionInfo connectionInfo)
--- End of inner exception stack trace ---
at Microsoft.AnalysisServices.AdomdClient.XmlaClient.GetTcpClient(ConnectionInfo connectionInfo)
at Microsoft.AnalysisServices.AdomdClient.XmlaClient.OpenTcpConnection(ConnectionInfo connectionInfo)
at Microsoft.AnalysisServices.AdomdClient.XmlaClient.Connect(ConnectionInfo connectionInfo, Boolean beginSession)
at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider.Connect(Boolean toIXMLA)
at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectToXMLA(Boolean createSession, Boolean isHTTP)
at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.Open()
at BI.AdoMD.CubeConnectionAttribute.OnActionExecuting(ActionExecutingContext filterContext) in .
Я не могу понять, что является причиной этой проблемы.
Я проверил сервер, на котором работает SSAS, и похоже, что это не проблема аутентификации / брандмауэра.
Надеюсь, кто-то сталкивался с этой проблемой раньше и знает, что является причиной этой проблемы со случайным соединением.
-Rick
2 ответа
Вы получаете тайм-аут при попытке подключения к порту TCP на целевой машине.
Попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через определенный промежуток времени, или не удалось установить соединение, так как подключенный хост не смог ответить на System.Net.Sockets.TcpClient..ctor(String hostname, Int32 port)
Это может быть временная проблема загрузки для сервера, или может быть некоторая проблема в сети, которая иногда возникает. В любом случае, это не обязательно напрямую связано с SSAS как таковым.
Согласно ответу Ната выше, я видел это время от времени, когда куб находится под нагрузкой - кажется, он "ставит в очередь" входящие запросы. Возможно ли, что куб получает удар по множеству запросов одновременно или по нескольким тяжелым запросам? Это происходит в / около времени обработки куба?
Когда я диагностировал нечто подобное, я обнаружил, что настройка счетчиков для соединений и запросов в Perfmon и настройка их для записи их на диск для последующей перекрестной проверки имеют неоценимое значение.