"No such host is known" 用于 Visual Studio 2013 Web 性能测试代理配置

"No such host is known" for Visual Studio 2013 Web Performance Test agent configuration

我正在尝试为 Visual Studio 2013 网络性能测试设置控制器和代理,并且在配置代理时收到错误消息 "Failed to register this test agent with the test controller. Connection to the test controller MyController:6901 failed because either the test controller is accessible or the service is not running."

日志中的详细错误消息是:"System.Net.Sockets.SocketException (0x80004005): No such host is known"

我从 http://www.microsoft.com/en-us/download/details.aspx?id=40750

下载了 "Agents for Microsoft Visual Studio 2013,"

控制器MyController是64位物理机运行ning Windows7 Professional SP1。 MyDomain\MyUser 是这台机器的管理员。 Windows 防火墙未启用。

我以 MyDomain\MyUser 和 运行 控制器安装的身份登录到控制器机器。我将登录帐户指定为 MyDomain\MyUserName 并检查了 "Configure test controller for load testing."

安装后我发现:

  1. 服务 "Visual Studio Test Controller" 运行ning 在域用户帐户 MyDomain\MyUser 的身份下。
  2. 文档说该服务默认侦听端口 6901。该服务位于 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\QTController.exe。当我查看 QTController.exe.config 时,我注意到 appsettings 键 ControllerServicePort 设置为“6901”,这是默认值。
  3. 当我 运行 netstat -a -n 时,我看到 TCP 0.0.0.0:6901 0.0.0.0.:0 LISTENING,所以看起来机器正在侦听端口 6901 并接收所有呼叫者。
  4. MyDomain\MyUser 在控制器计算机上的管理员组中。
  5. MyDomain\MyUser 在控制器机器上的 TeamTestControllerUsers 组中。该组由 Visual Studio 控制器安装程序创建,MyDomain\MyUser 由安装程序添加。
  6. 我可以成功 ping MyAgent。
  7. 我重启了机器。

尝试配置代理时出现问题。

代理机器是64位虚拟机运行ning Windows7 Professional SP1。 MyDomain\MyUser 是这台机器的管理员。 Windows 防火墙未启用。

我以 MyDomain\MyUser 和 运行 代理安装的身份登录代理机器。安装结束时会出现 "Configure Test Agent" 对话框。它问了 2 个问题:

  1. 运行 测试代理即服务。我输入了MyDomain\MyUser.
  2. 我检查了 "Register with Test Controller" 并输入了 "MyController:6901" 并单击应用设置。

错误信息是"Failed to register this test agent with the test controller. Connection to the test controller MyController:6901 failed because either the test controller is accessible or the service is not running."

测试代理有详细的错误日志。这是相关部分:

I, 2015/03/26, 09:35:57.872, AgentConfiguration: Found agent is not configured on any controller. I, 2015/03/26, 09:35:57.872, 获取控制器信息: MyController:6901. 一、2015/03/26, 09:35:57.872, 创建频道 我,2015/03/26,09:35:57.997,CreateControllerObject:ControllerVersion:12.0 I, 2015/03/26, 09:36:02.943, CreateControllerObject: attempt 0, System.Net.Sockets.SocketException (0x80004005): 不知道这样的主机

服务器堆栈跟踪: 在 System.Net.Dns.GetAddrInfo(字符串名称) 在 System.Net.Dns.InternalGetHostByName(字符串主机名,布尔值 includeIPv6) 在 System.Net.Dns.GetHostAddresses(字符串主机名或地址) 在 System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket() 在 System.Runtime.Remoting.Channels.RemoteConnection.GetSocket() 在 System.Runtime.Remoting.Channels.SocketCache.GetSocket(字符串 machinePortAndSid,布尔值 openNew) 在 System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.SendRequestWithRetry(IMessage 消息,IT运行sportHeaders requestHeaders,Stream requestStream) 在 System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage(IMessage 消息,IT运行sportHeaders requestHeaders,Stream requestStream,IT运行sportHeaders& responseHeaders,Stream& responseStream) 在 System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage 消息)

我重新启动了 MyAgent 并得到了同样的错误。

我可以从 MyAgent 成功 ping MyController。

我可以从 MyAgent telnet MyController 6901 并得到空白屏幕(这意味着端口已打开)。

我尝试了此处提到的修复 (http://support.microsoft.com/en-us/kb/2823477),将控制器机器域的 DSN 后缀附加到控制器机器和代理上 NIC 的 TCP\IP 设置机器。由于 MyAgent 和 MyController 能够仅使用机器名称相互 ping 通,我没想到这个解决方案会起作用,但它没有起作用。

我在 Windows 7 64 位物理机(而不是虚拟机)上重复安装此代理,并收到完全相同的错误。

Visual Studio 的早期版本有修补程序(例如 http://support.microsoft.com/en-us/kb/2643086),但 VS 2013 没有修补程序。

我们的代理机器与控制器机器位于不同的子网上。

当我们将控制器移动到与代理机器位于同一子网中的一台机器时,它开始工作了。

这可能是控制器使用物理机,代理使用虚拟机造成的,但这是推测。