雲端負載測試的常見問題集

以下各節涵蓋雲端負載測試的常見問題集,可協助您針對任何問題進行疑難排解,或回答您可能會有的問題。

應用程式組態

答:您可以使用 Visual Studio Team Services,對網際網路上可用的任何應用程式進行負載測試。 請從這裡開始著手。

如果您的應用程式由於是內部應用程式而受防火牆保護,或者您的應用程式尚未發行,您仍然可以使用雲端負載測試。 如需詳細資訊,請參閱 Load testing applications behind a firewall using Trusted IP (使用可信任 IP 對受防火牆保護的應用程式進行負載測試)。

一般

答:取得權限以在雲端中執行負載測試需要 5 秒到 3 小時的時間。 如果您之前建立 Visual Studio Team Services 帳戶,您可以立即執行負載測試。
答:不會。 目前不支援使用 MSTest 執行負載測試。
答:預設會儲存在本機 SQL Express 資料庫。 SQL Express 適合儲存試用回合的測試結果。 當您下載更多的負載測試結果時,請改用 SQL Server,以提升效能。 若要使用 SQL Server,請遵循這些指示
答:從 Visual Studio 2013 Update 5 和 Visual Studio 2015 開始,您可以在設定負載測試回合時,選取測試代理程式位置。 請從世界各地任何支援的 Azure Datacenter 選擇一個位置。 如果我使用的是舊版 Visual Studio,該怎麼辦?

After your run finishes, your results are stored in the same location as your Visual Studio Team Services account.

If you’re using an earlier version of Visual Studio, the agent location is based on the location that you chose when you created your Visual Studio Team Services account.

Visual Studio Team Services 帳戶區域
美國中南部
西歐

測試代理程式 Azure Datacenter
美國東部 2
西歐

如果您的應用程式受防火牆保護,您仍然可以使用可信任 IP 來設定防火牆,以對應用程式進行負載測試。 若要要求可信任 IP,以及了解如何在對內部應用程式進行負載測試時使用這些 IP,請參閱 使用可信任 IP 對受防火牆保護的應用程式進行負載測試.

答:不會。 針對負載測試回合裝載代理程式的虛擬機器集合上,只能裝載一個回合。
答:負載測試代理程式每回合的核心數目上限為 100 個核心。 如果您的測試回合需要更多核心,您可以同時執行 10 個負載測試。

每一代理程式核心的虛擬使用者數目下限為 1。 如果您的負載測試需要更多的代理程式核心,或每一代理程式核心需要更少的虛擬使用者,請連絡 vsoloadtest@microsoft.com

答:如果您的測試回合所使用之每一核心的虛擬使用者數目超過 25 個 (含),則 VUM = (測試回合的最大使用者負載) * (測試回合持續時間,以分鐘為單位)。

如果您的測試回合所使用之每一核心的虛擬使用者數目少於 25 個,則 VUM = (核心數目) * (每一核心 25 個虛擬使用者) * (測試回合持續時間,以分鐘為單位)。

用來計算 VUM 的最小值為 25 個虛擬使用者和 1 分鐘。 如果您的測試回合值小於最小值,則這些值會向上捨入,以符合最小值。 例如,如果您的測試回合指定 20 個虛擬使用者和 30 秒,則您的測試實際上會以 25 個虛擬使用者和 1 分鐘來執行 = 25 VUM,而不是 15 VUM。

此外,測試回合持續時間會以分鐘為單位。 因此,如果您的測試回合持續時間為 5 分 15 秒,則該持續時間會向上捨入為 6 分鐘。

針對下列項目,至少會從您的帳戶扣除 250 VUM (包括測試準備期):

  • 完成的回合,以回合的完整持續時間為基礎
  • 中止的回合,以回合經過的持續時間為基礎

如果回合以錯誤狀態結束,則不會從您的帳戶扣除任何 VUM。

若要查看您的 Visual Studio Team Services 帳戶已使用或剩餘的虛擬使用者分鐘數,請前往您的 Visual Studio Team Services 帳戶首頁 (https://{您的帳戶}.visualstudio.com)。

答:資源限制會套用至每個 Visual Studio Team Services 帳戶。 針對每個帳戶,您每個月收到的免費虛擬使用者分鐘數為 20,000。 如果您的負載測試需要更多的虛擬使用者分鐘數,請您的帳戶擁有人為您的 Visual Studio Team Services 帳戶取得額外資源

If your free resource limits run out and you have not purchased additional resources, you will get a status message like this:

This run exceeds the maximum allowed usage for this month.

您的帳戶這個月目前的使用量 (包括進行中的回合) 為 8000,而允許的使用量上限為 20000。 若要深入了解使用量限制及如何進行修改,請參閱 https://go.microsoft.com/fwlink/?LinkId=303976

設定測試

答:您可以使用 .csv 檔或 Excel 試算表,為雲端負載測試提供不同的值。 目前不支援使用 SQL Server。 若要了解如何提供這些值給您的測試,請前往這裡
答:您的回合所使用的代理程式數目是以您的測試數目為基礎。 如果您在執行測試時收到錯誤,您可能必須增加代理程式核心數目。 當您使用 Visual Studio IDE 在 Visual Studio Team Services 中進行負載測試時,您可以變更代理程式核心數目。

IC666801

Agent Count (Total Cores)

下列各值所代表的意義為何?

  • 0(預設值):核心數目是以您為測試指定的虛擬使用者數目為基礎。
  • 1:您的測試回合每 1 核心會使用 1 個代理程式。
  • 2 (含) 以上:每個代理程式一律會使用 2 個核心。 例如,如果值為 4,則您會取得 2 個代理程式,且每個代理程式各有 2 個核心。 如果值為 3,您仍然會取得 2 個代理程式,且每個代理程式各有 2 個核心。 您不會取得 1 個含有 2 個核心的代理程式及 1 個只有 1 個核心的代理程式。

代理程式數目也取決於您的測試混合 (Web 效能測試或單元測試)。 如果您只有 Web 效能測試,則建議針對每 2 個核心使用 250 到 1000 個虛擬使用者。 如果您有單元測試,代理程式計數取決於您的單元測試功能。 這表示您必須執行持續時間較短的測試回合或使用以目標為依據的負載測試,來測試您是否有足夠的代理程式。

答:您可以使用測試設定中的部署選項及安裝指令碼。

You can add the .exe or other files to the Deployment window which you want to deploy on the Agent and using the Setup script you can install them on agents.

所有部署在代理程式上的項目都會複製到代理程式上的目錄。 您可以透過在安裝和清除指令碼中使用 %DeploymentDirectory%,來存取此目錄的位置。 例如,如果我想要在代理程式電腦上安裝 WebDeploy,我應該將 WebDeploy_x64_en-US.msi 加入 [部署] 視窗。 Setup.cmd 看起來會像是 %DeploymentDirectory%WebDeploy_x64_en-US.msi /passive

執行及監視負載測試

答:您可以在 Visual Studio Team Services 支援入口網站 (頁面頂端) 及我們的服務部落格檢視服務狀態。 您也可以遵循支援論壇的這篇文章,訂閱服務狀態的通知。
答:當您使用 Visual Studio Team Services 執行時,負載測試回合的狀態包括:

  • 進行中:測試回合目前在雲端中執行。
  • 已完成:測試回合已順利完成。
  • 已中止:使用者已按下停止按鈕來停止測試回合。 如果有負載測試相關問題,也會發生此狀態。 例如,如果測試指令碼有問題,則可能會中止。
  • 錯誤:由於服務本身發生錯誤,測試回合已停止。 例如,服務可能發生基礎結構問題,而無法繼續執行測試。 這不是負載測試或測試指令碼所造成的問題。
:由於已知問題,您目前必須使用下列因應措施:

  1. 以系統管理員權限啟動 [記事本]
  2. 開啟 devenv.exe.config 檔案 (此檔案通常位於:”C:Program Files (x86)Microsoft Visual Studio 12.0Common7IDE”)
  3. 將 bindingRedirect 的值變更為 “8.0.0.0-14.0.0.0”
    <dependentAssembly>
        <assemblyIdentity name="Microsoft.VisualStudio.QualityTools.LoadTest" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="8.0.0.0-14.0.0.0" newVersion="12.0.0.0"/>
    </dependentAssembly>

疑難排解

答:如果當您使用 Internet Explorer 11 嘗試記錄 Web 測試時未啟用 Web 測試錄製器,請前往這裡以解決問題。
答:當您的負載測試執行時,會回報狀態訊息和測試錯誤。 狀態訊息提供有關負載測試回合本身的詳細資料,例如遺失結果資料庫連線的時間。 測試錯誤與測試相關。 您可以從進度圖的 [詳細資料] 索引標籤檢視這兩個訊息。

IC696061

答:如果錯誤指出連線的目前狀態已關閉,您可以設定逾時前連線要等候的時間長度。 在連接字串中設定 ConnectTimeout 或 Connection Timeout 關鍵字。 請勿在 ConnectionString 中將 0 設定為逾時值,因為這樣做會無限期地持續嘗試連線。
答:如果發生此情況,您必須從 MSDN 訂閱取得 Visual Studio Ultimate 產品金鑰,並使用 [產品資訊] 頁面上的 [變更我的產品授權] 選項。 您必須在要使用 Visual Studio Team Services 執行負載測試的每部電腦上執行這個動作。 請造訪這個網站以取得產品金鑰。
答:從 2014 年 11 月 26 日開始,您必須將版本資訊加入 REST API 呼叫。 如果您的呼叫失敗並出現 VssVersionNotSpecifiedException 例外狀況,您必須在 REST API 呼叫中包含 ?api-version=1.0-preview.1。 請遵循這裡的指示來執行這個動作。
答:使用 Visual Studio Team Services 執行測試時,負載測試中的測試名稱會轉換成小寫。 使用者程式碼對測試名稱所做的任何字串比對,應該忽略大小寫或將測試名稱轉換成小寫。
:請使用文字編輯器來編輯 devenv.exe.config。 此檔案通常位於 “C:Program Files (x86)Microsoft Visual Studio 12.0Common7IDE”。

    1. 在 區段內加入下列程式碼行:
      <add key="ElsClientLogLevel" value="XXX"/>

      其中 XXX 可以是下列任何項目:

      • all – 記錄所有訊息
      • off – 停止記錄任何訊息
      • critical – 只會記錄關鍵訊息
      • 錯誤 – 只會記錄錯誤和關鍵訊息
      • warning – 記錄錯誤、關鍵和警告訊息 (預設值)
      • information – 記錄錯誤、關鍵、警告和資訊訊息
      • verbose – 記錄錯誤、關鍵、警告、資訊和詳細資訊訊息

 

  1. 將下列區段加入 devenv.exe.config 檔案底部的結尾標記正上方。 您可以透過變更 initializeData 值,來指定記錄檔的路徑。
        <code class="csharp"><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></code>
    

  2. 重新啟動 Visual Studio 2013 並重現問題。 然後,您可以檢閱記錄檔,或與支援人員分享此記錄檔。 此記錄檔位於:%Temp%ELSClient。
答:針對 Visual Studio 2013 Update 4 和更新版本,TimingDetailsStorage 屬性的預設值已從 AllIndividualDetails 變更為 None。 如果您想要收集個別時間,您必須將 TimingDetailsStorage 屬性明確設定為 AllIndividualDetails。 如需詳細資訊,請前往這裡

錯誤

答:如果您收到下列其中一個錯誤:

  • VS1550064
  • VS1550072
  • VS1550078
  • VS1550081
  • VS1550082
  • VS1550083

請連絡 Visual Studio Team Services 支援部門。 您將需要提供測試回合 ID。

答:如果您手動編輯 .loadtest XML 檔,可能會導致下列錯誤:

  • VS1550084

請開啟該檔案並還原您加入的任何變更。 重新執行負載測試,應該會順利完成執行。

答:如果您手動編輯 .loadtest XML 檔,可能會導致下列錯誤:

  • VS1550026
  • VS1550027

請開啟該檔案並還原您加入的任何變更。 重新執行負載測試,應該會順利完成執行。

答:如果您未完成就關閉 [負載測試精靈],可能會導致下列錯誤:

  • VS1550030

若要修正此問題,請建立其他負載測試並刪除無法執行的測試。

答:這些錯誤通常是由於雲端負載測試服務的問題所造成。 只要重試並執行您的負載測試即可。 如果問題持續發生,請連絡 Visual Studio Team Services 支援部門。 您將需要提供測試回合 ID。
答:請前往這裡,以尋找有關其他錯誤及其解決方法的資訊 (如果適用的話)。

使用雲端服務

免費開始使用

自行裝載

下載試用版