控制器、代理程式和 Rig 疑難排解

更新:2007 年 11 月

這個主題會列出,在 Visual Studio 2005 Team Test Load Agent 中使用控制器和代理程式時所發生的常見問題。

無法收集代理程式電腦上的效能計數器

設定控制器電腦上的記錄層次

將控制器繫結至網路介面卡

無法收集代理程式電腦上的效能計數器

當您執行負載測試時,如果您嘗試連接至代理程式電腦並收集效能計數器,便可能會接收到錯誤。「遠端登錄」服務是負責提供效能計數器資料給遠端電腦的服務。根據預設,在執行 Windows Vista 的電腦上,遠端登錄服務並不會自動啟動。若要修正此問題,請手動啟動「遠端登錄」服務。

注意事項:

您可以從 [控制台]、[系統管理工具] 的 [服務] 應用程式存取「遠端登錄」服務。

造成這個問題的另一個原因,是沒有讀取效能計數器的足夠權限。對於本機測試回合,執行測試的使用者帳戶必須是 Power Users 群組 (或更高) 或 Performance Monitor Users 群組的成員。對於遠端測試回合,設定控制器執行的帳戶必須是 Power Users 群組 (或更高) 或 Performance Monitor Users 群組的成員。

設定控制器電腦上的記錄層次

您可以在控制器電腦上控制記錄層次。當您針對在 Rig 上執行負載測試所發生的問題嘗試加以診斷時,這便很有用。

設定控制器電腦上的記錄層次

  1. 停止控制器服務。在命令提示字元輸入 net stop vsttcontroller。

  2. 開啟 QTController.exe.config 檔案。這個檔案位於控制器安裝目錄中。

  3. 在該檔案的系統診斷區段中,編輯 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>
    
  4. 儲存檔案。

  5. 啟動控制器服務。在命令提示字元輸入 net start vsttcontroller。

這適用於控制器、代理程式服務和代理程式處理序。在診斷問題時,啟用記錄以記錄這三個處理序,是很有用的做法。這三個處理序的記錄層次設定程序都一樣,和上述針對控制器所指定的設定程序相同。若要設定代理程式服務與代理程式處理序的記錄層次,請使用組態檔 QTAgentService.exe.config 與 QTAgent.exe.config。

將控制器繫結至網路介面卡

當您嘗試設定代理程式時,可能會接收到下列錯誤:

Error 8110. Can not connect to the specified controller computer or access the controller object.

在有超過一個以上網路介面卡的電腦上安裝控制器,便可能導致此錯誤。

注意事項:

也有可能在您嘗試執行測試之前,都能夠成功安裝代理程式,而且不會看到這個問題。

若要修正此錯誤,您必須將控制器繫結至其中一個網路介面卡。您必須在控制器上設定 BindTo 屬性,然後變更代理程式以根據 IP 位址 (而非名稱) 參考至控制器。請依下列程序的步驟執行。

取得網路介面卡的 IP 位址

  1. 按一下 [開始],再按一下 [執行]。

    [執行] 對話方塊隨即出現。

  2. 輸入 cmd,然後按一下 [確定]。

    命令提示字元隨即出現。

  3. 輸入 ipconfig /all。

    接著便會顯示您的網路介面卡 IP 位址。請將控制器要繫結之網路介面卡的 IP 位址記錄下來。

將控制器繫結至網路介面卡

  1. 停止控制器服務。在命令提示字元輸入 net stop vsttcontroller。

  2. 開啟 QTController.exe.config 檔案。這個檔案位於控制器安裝目錄中。

  3. 將 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>
    
  4. 儲存檔案。

  5. 啟動控制器服務。在命令提示字元輸入 net start vsttcontroller。

將代理程式連接至繫結控制器

  • 再次安裝代理程式。這次請指定控制器的 IP 位址,而非控制器名稱。

這適用於控制器、代理程式服務和代理程式處理序。在超過一個以上網路介面卡的電腦上所執行的每一個處理序,都必須設定 BindTo 屬性。這三個處理序的 BindTo 屬性設定程序都一樣,和上述針對控制器所指定的設定程序相同。若要設定代理程式服務與代理程式處理序的記錄層次,請使用組態檔 QTAgentService.exe.config 與 QTAgent.exe.config。

請參閱

工作

Test 版中的疑難排解

Web 測試疑難排解

負載測試疑難排解

控制器、代理程式和 Rig 疑難排解

概念

關於控制器、代理程式和 Rig

設定控制器和代理程式的功能