更新:2007 年 11 月
本主题列出了在 Visual Studio 2005 Team Test Load Agent 中使用控制器和代理时发生的常见问题。
无法在代理计算机上收集性能计数器
设置控制器计算机上的日志记录级别
将控制器绑定到网络适配器
无法在代理计算机上收集性能计数器
运行负载测试时,如果尝试连接到代理计算机并收集性能计数器,则可能会收到错误。远程注册表服务是负责为远程计算机提供性能计数器数据的服务。默认情况下,在运行 Windows Vista 的计算机上,远程注册表服务不会自动启动。若要解决此问题,请手动启动远程注册表服务。
| .gif) 说明: | 
|---|
| 可以从“控制面板”中“管理工具”中的“服务”应用程序来访问远程注册表服务。 | 
导致此问题的另一个原因是没有足够的读取性能计数器权限。对于本地测试运行,运行测试的用户的帐户必须是 Power Users 组(或更高)或 Performance Monitor Users 组的成员。对于远程测试运行,配置控制器运行时所用的帐户必须是 Power Users 组(或更高)或 Performance Monitor Users 组的成员。
设置控制器计算机上的日志记录级别
可以控制控制器计算机上的日志记录级别。当您尝试诊断在远程测试机组 (Rig) 上运行负载测试所出现的问题时,这很有用。
设置控制器计算机上的日志记录级别
- 停止控制器服务。在命令提示处,键入 net stop vsttcontroller。 
- 打开文件 QTController.exe.config。该文件位于控制器安装目录中。 
- 在该文件的系统诊断部分中编辑 EqtTraceLevel 开关的项。您的代码应类似于下面所显示的内容: - <system.diagnostics> <trace autoflush="true" indentsize="4"> <listeners> <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="d:\VSTestHost.log" /> </listeners> </trace> <switches> <!-- You must use integral values for "value": 0 = off, 1 = error, 2 = warn, 3 = info, 4 = verbose. --> <add name="EqtTraceLevel" value="4" /> </switches> </system.diagnostics>
- 保存该文件。 
- 启动控制器服务。在命令提示处,键入 net start vsttcontroller。 
这适用于控制器、代理服务和代理进程。诊断问题时,对所有三个进程都启用日志记录很有用。对于所有三个进程,设置日志记录级别的过程是相同的,如同上面对于控制器所指定的过程。若要设置代理服务和代理进程的日志记录级别,请使用配置文件 QTAgentService.exe.config 和 QTAgent.exe.config。
将控制器绑定到网络适配器
尝试设置代理时,可能会收到以下错误:
Error 8110. Can not connect to the specified controller computer or access the controller object.
此错误可能是由在包含多个网络适配器的计算机上安装控制器引起的。
| .gif) 说明: | 
|---|
| 还是可以成功安装代理,并且在尝试运行测试之前不会出现此问题。 | 
若要修复此错误,必须将控制器绑定到其中一个网络适配器。必须设置控制器上的 BindTo 属性,然后将代理更改为通过 IP 地址(而不是通过名称)来引用该控制器。下面的过程中提供了步骤。
获取网络适配器的 IP 地址
- 单击“开始”,然后单击“运行”。 - 将显示“运行”对话框。 
- 键入 cmd,然后单击“确定”。 - 将显示命令提示。 
- 键入 ipconfig /all。 - 将显示网络适配器的 IP 地址。记录要将控制器绑定到的网络适配器的 IP 地址。 
将控制器绑定到网络适配器
- 停止控制器服务。在命令提示处,键入 net stop vsttcontroller。 
- 打开文件 QTController.exe.config。该文件位于控制器安装目录中。 
- 将 BindTo 属性的项添加到应用程序设置中。指定要将控制器绑定到的网络适配器的 IP 地址。您的代码应类似于下面所显示的内容: - <appSettings> <add key="LogSizeLimitInMegs" value="20" /> <add key="AgentSyncTimeoutInSeconds" value="120" /> <add key="ControllerServicePort" value="6901" /> <add key="ControllerUsersGroup" value="TeamTestControllerUsers" /> <add key="ControllerAdminsGroup" value="TeamTestControllerAdmins" /> <add key="CreateTraceListener" value="no" /> <add key="BindTo" value="<YOUR IP ADDRESS>" /> </appSettings>
- 保存该文件。 
- 启动控制器服务。在命令提示处,键入 net start vsttcontroller。 
将代理连接到绑定的控制器
- 再次运行代理安装。此次,指定控制器的 IP 地址,而不是指定控制器名称。
这适用于控制器、代理服务和代理进程。对于每个在包含多个网络适配器的计算机上运行的进程,都必须设置 BindTo 属性。对于所有三个进程,设置 BindTo 属性的过程是相同的,如同上面对于控制器所指定的过程。若要设置代理服务和代理进程的日志记录级别,请使用配置文件 QTAgentService.exe.config 和 QTAgent.exe.config。