無訊息測試架構

本檔的目標是要提供技術小組來管理公司網路廣播平臺,以瞭解如何使用 Microsoft eCDN 無訊息測試控管稽核其公司網路 () ,並在實際事件之前找出可能的問題。

Microsoft eCDN 無訊息測試架構可讓您輕鬆地在多個裝置上執行模擬,以模擬和檢查指定網路在影片事件裝載下的行為。

無訊息測試是在背景執行的實際視訊會話, (使用者裝置上的靜音) 。 使用者可以在不知道測試正在執行的情況下繼續在電腦上工作,不過,視訊頻寬的網路連線速度可能會變慢。

此架構包含 3 個主要元件:

  • 執行器裝置
  • 管理儀表板
  • 分析

下列各節會逐一說明這些元件。

執行器裝置

每個連線到架構的裝置都會被視為「執行器」,並會與 Microsoft eCDN 的後端通訊,以取得應該執行測試的指示。 大部分時候沒有執行任何測試,在此情況下,執行器會等到測試開始後才會閒置。 Microsoft eCDN 會利用已安裝在使用者電腦上的現有軟體,例如 Microsoft Edge 和 Google Chrome,在背景中啟動執行器,而不是在每部電腦上部署指定的代理程式應用程式作為執行器。

因為執行器基本上是網頁,所以可以在任何瀏覽器或類似瀏覽器的環境中開啟。 除了下列建議的方法之外,執行器還可以以任何其他符合公司需求的方式進行整合。 請務必注意,無論選擇何種整合方法,使用者電腦都必須開啟並聯機到網際網路,任何整合才能運作

無周邊瀏覽器 - 我們提供 PowerShell & Bash 腳本,可使用執行器頁面在背景中啟動 Edge/Chrome。 接著可以在一組使用者上執行腳本,以將其連線到架構。 請注意,必須安裝 Edge 和/或 Chrome,此整合才能運作

如需詳細資訊,請 參閱附錄 B:使用無周邊瀏覽器整合執行器

管理儀表板

管理儀表板允許排程、修改和取消測試,也會顯示連線的執行器數目。 主視窗會列出擱置中的測試、進行中的測試,以及已結束的過去測試。 已結束的測試會顯示 24 小時,然後從清單中隱藏。

關於線上執行器統計資料的重要注意事項 - 實際執行排程測試的裝置數目取決於 測試開始時連接的執行器數目。 如果測試排定在明天,而且有 100 部線上裝置,則這些裝置必須在明天測試開始時上線。

無訊息測試管理儀表板 UI 的影像。

分析

排程測試時,它會設定為「擱置」模式。 一旦達到測試的開始時間,測試就會啟動,而且所有相關的執行器都會收到已啟動測試的通知、目標頁面將會啟動, (靜音) 視訊會開始在隱藏視窗中播放。 Microsoft eCDN SDK 會收集網路和 UX 計量,這些計量會顯示在 分析儀表板中可用的各種圖表中。 測試執行時會報告分析,讓系統管理員即使在測試結束之前也能檢查狀態

並行處理

標題為 [唯一檢視者] 的範例圖表。經過一段時間,圖表會分別以藍色和灰色顯示兩個數列、啟用對等互連和對等互連停用的檢視者。

並行圖表會顯示一段時間的作用中使用者數目。 若要視為作用中,使用者必須播放視訊。

HTTP + P2P 速度

標題為網路輸送量的範例圖表。經過一段時間,橫條圖會分別以深藍色、橙色和點狀綠色線條顯示三個數列:耗用的 HTTP 資料、取用的 P2P 資料,以及 P2P 配量百分比。

網路輸送量圖表會顯示 HTTP 和 P2P 中的網路耗用量明細。

  • 深藍色橫條 - HTTP 頻寬
  • 橙色橫條 - P2P 頻寬
  • 綠色虛線 - P2P 占總計的比例,以右軸) (百分比表示。 例如,P2P 比例為 90% 表示只有 10% 的流量是透過 HTTP 下載,其餘流量則會在使用者之間對等互連。

如果 P2P 低於預期,表示使用者並行率不夠高,或網路需要額外的優化。 如需疑難排解,請參閱 疑難排解低對等互連效率 檔。

使用者體驗

標題為播放和緩衝時間的範例圖表。經過一段時間,圖表會分別以深綠色、紅色和藍色虛線顯示三個數列:[播放]、[重新緩衝] 和 [Rebuffer 比例]。

使用者體驗圖表會顯示在 (凍結的視訊) 中,所花費的播放時間與花費在重新緩衝時間的組合時間。

  • 綠色橫條 - 在左軸 (以分鐘為單位所花費的匯總時間)
  • 紅色橫條 - 在左軸 (以分鐘為單位所花費的總時間)
  • 藍色虛線 - 以百分比表示總時間的重新緩衝比率。 (右軸) 。 例如,2% 的重新緩衝比例表示 98% 的視訊正確播放時間,而在視訊停滯的 2% 時間。

在理想情況下,重新緩衝應該低於 1%。 大量或尖峰的重新緩衝可能表示網路壅塞、伺服器多載或內容設定錯誤。

網路要求

無訊息測試架構會使用下列網域和埠:

主機 名  連接埠 Protocol (通訊協定) 描述 
*.ecdn.microsoft.com 443 HTTP/S 執行器頁面 & 資源
*.ecdn.microsoft.com 443 WSS Microsoft eCDN 後端的 WebSocket 連線
任何 高埠 10,000 + Sctp 這是 WebRTC 對等連線的必要專案。 只能限於 LAN。 

重要事項

自 2023 年 6 月 1 日起,我們將網域從 *.ecdn.microsoft.com 轉換為 *.ecdn.teams.microsoft.com 。 在準備多周轉換期間時,請將新網域新增至您可能所做的任何防火牆、Proxy、VPN 或 mDNS 設定。 請務必注意 ,轉換不會是全新的完全移轉,因此在轉換期間必須考慮這兩個網域。

安全性

無訊息測試架構的運作方式是將測試指派給執行器。 雖然執行器是連接至 Microsoft eCDN 後端的靜態頁面,但執行的測試是動態的,而且可以執行任何目標頁面。 因此,執行器會在瀏覽器沙箱化的網頁內執行,並依賴預先建置到新式瀏覽器中的安全性機制。 不論整合 (不包括自訂整合) ,目標頁面一律會使用 iframe在安全且乾淨的內容中執行。

網路許可權也受限於瀏覽器,並受限於常見的 Web API,包括 HTTP、WebSocket、WebRTC 等等。

等候測試執行時,執行器會透過安全的 TLS 連線 (WSS) 維護持續性的 WebSocket 連線。

附錄

附錄 A:如何排程無訊息測試

  1. 移至無 訊息測試儀表板

  2. 按一下 + 符號

    無訊息測試人員 UI

  3. 填入必要的欄位

    無訊息測試選項 UI 的影像。

    • 名稱 - 您選擇的任意名稱。

    • 時間 & 日期 - 開始測試的特定時間。

    • 持續時間 - 測試的持續時間。 我們建議至少 2000 萬以允許適當的模擬。

    • 目標 URL - 事件頁面的公開可用 URL,可播放事件持續時間的視訊。 您可以使用我們的內建頁面,或建立您自己的頁面。

      • 內建 Stream - Microsoft eCDN 包含已整合的內建頁面,其中包含包含數個轉譯以及可自訂串流通訊協定的即時串流。

      • 自訂資料流程 - 您可能只想要提供自己的即時串流,並使用 Microsoft eCDN 的自動整合頁面。 資料流程必須可公開使用,並包含 CORS 標頭,讓執行器能夠載入它。 當測試開始時,會自動播放資料流程。

      • 自訂頁面 - 您自己的完整自訂頁面。 此頁面必須包含播放程式和即時串流,以及與 Microsoft eCDN 整合。 播放程式必須自動開始播放視訊,因為測試期間沒有使用者互動。 某些瀏覽器會限制自動播放視訊的功能。 基於這個理由,建議您將音訊設為靜音,以簡化限制。 內建頁面預設為靜音。

    • 裝置篩選 - 將測試限制為特定的裝置群組。 在某些情況下,您可能想要在連線裝置的子集上執行測試。 例如,只在美國辦公室執行測試,或只在美國直接執行器裝置上執行測試。

      • 國家/地區篩選 - 僅包含來自特定國家/地區的裝置 (GeoIP) 。

      • 整合篩選 - 僅包含透過特定整合連線的裝置。

      • 裝置識別碼篩選 - 只在特定裝置識別碼上執行測試。 此篩選準則主要用於本機偵錯用途。

  4. 按一下 [排程 ],即會建立測試。

  5. 達到無訊息測試的開始時間時,測試將會在指派的連線裝置上執行。

附錄 B:使用無周邊瀏覽器整合執行器

Microsoft eCDN 提供無安裝無提示測試程式腳本。

此腳本會在特定頁面上的電腦背景啟動 Chrome 或 Edge 一段指定的持續時間,然後關閉背景瀏覽器程式。

此外,Microsoft eCDN 提供腳本來在 Active Directory 中列出的遠端電腦上執行無訊息測試程式。 請注意,重新開機電腦不會自動還原執行器,而且必須使用腳本再次啟動瀏覽器。

執行 Windows 環境的指示

  1. 下載 silent-tester-runner-windows.ps1 - PowerShell 腳本,如果在背景中找不到 24 小時) ,則會在 Edge 或 Chrome (啟動以 Chromium 為基礎的瀏覽器。

  2. 編輯 silent-tester-runner-windows.ps1

    • $TenantID- 將 取代 TENANT_ID 為您的 Microsoft 租使用者識別碼。

    • $TestID- 以唯一識別碼字串取代 TEST_ID 。 此字串將用於建立記錄檔,讓無訊息測試系統管理員能夠唯一識別測試結果。

    重要事項

    每個測試都必須有唯一的$TestID。 如果腳本偵測到它先前執行的$TestID與目前的實例相同,則不會執行無訊息測試即可結束。

    • (選擇性) $scenarioDuration - 將瀏覽器執行時間持續時間設定為所需的值,以秒為單位。 在此期間,您將能夠在目的電腦上執行無訊息測試。 當瀏覽器處於閒置狀態時,將此值增加為數天並沒有任何問題,可讓您在執行測試時有更大的彈性。 此程式無法在系統重新開機後存取。 預設為 86400 秒 (24 小時) 。

    • (選擇性) $customChromePath - 如果 Edge 或 Chrome 未安裝在預設路徑中, (C:\Program FilesC:\Program Files (x86)) 將此變數設定為瀏覽器的可執行檔路徑。 例如: C:\Custom Path\Edge\msedge.exe

  3. 使用您選擇的方法在目的電腦上執行腳本,例如下列其中一個選項。

    • 使用 GPO

    • 使用 SCCM

    • 或從網域控制站手動執行。 為了方便起見,我們提供調用腳本範例。

      1. 下載 remote-invocation.ps1 - 在 Active Directory 中的所有電腦上執行 silent-tester-runner-windows.ps1 的 PowerShell 腳本

      2. (選擇性) 編輯腳本,根據您的需求將 Active Directory 查詢限制為特定的電腦群組。 請參閱 Get-ADComputer Cmdlet 以進行進階篩選。

      注意事項

      請確定 silent-tester-runner-windows.ps1 位於您執行調用腳本的相同目錄中。

      注意

      不建議在 SYSTEM 帳戶下執行執行器腳本。 如需最佳結果,請在使用者內容下執行執行器腳本。

  4. 移至 無訊息測試儀表板 ,並確定目的機器現在顯示為線上執行器。

顯示 4 個線上執行器的影像範例。

執行 Mac 環境的指示

  1. 下載 silent-tester-runner-mac.sh - Bash 腳本,可在背景中啟動 Google Chrome 24 小時。

  2. 編輯 silent-tester-runner-mac.sh

    1. ecdnCustomerId - 以您的 Microsoft 租使用者識別碼取代 CUSTOMER_ID

    2. (選擇性) 案例 工期 - 將瀏覽器執行時間持續時間設定為所需的值,以秒為單位。 在此期間,您將能夠在目的電腦上執行無訊息測試。 當瀏覽器處於閒置狀態時,將此值增加為數天並沒有任何問題,可讓您在執行測試時有更大的彈性。 預設為 86400 秒 (24 小時) 。

  3. 例如,Jamf Pro 會根據用來管理月臺裝置的工具,有不同的方式可在不同的電腦上執行腳本。