在應用程式要求路由中設定位元組範圍要求區段大小
by Won Yoo
本檔的這一節適用於 IIS 7 和更新版本的 Microsoft 應用程式要求路由第 2 版。
Goal
若要瞭解及設定應用程式要求路由 (ARR) 如何處理位元組範圍要求。
必要條件
這是 ARR 中的進階功能。 本文假設您已熟悉 ARR 的整體功能,並瞭解如何使用磁碟快取部署及設定 ARR。 如果您尚未這麼做,強烈建議您先檢閱下列逐步解說,再繼續進行:
- 在應用程式要求路由中設定和啟用磁碟快取
- 使用應用程式要求路由的快取階層管理
- 在 CDN 中部署應用程式要求路由
- 在應用程式要求路由上流覽磁碟上的快取內容
- 刪除快取的物件
- 使用應用程式要求路由手動覆寫快取控制指示詞
- 應用程式要求路由上的熱身快取節點
如果尚未安裝應用程式要求路由第 2 版,您可以在:
- 這裡 (x86) 適用於 IIS 7 的 Microsoft 應用程式要求路由第 2 版(
https://download.microsoft.com/download/4/D/F/4DFDA851-515F-474E-BA7A-5802B3C95101/ARRv2_setup_x86.EXE
x86)。 - Microsoft 應用程式要求路由第 2 版適用於 IIS 7 (x64) 在這裡 (
https://download.microsoft.com/download/3/4/1/3415F3F9-5698-44FE-A072-D4AF09728390/ARRv2_setup_x64.EXE
)。
請遵循本檔中所述的步驟來安裝ARR第2版。
步驟 1 - ARR 中的位元組範圍要求功能概觀。
不同的快取 Proxy 會以不同的方式處理位元組範圍要求。 針對 ARR,位元組範圍要求會分割成稱為「區塊」的較小片段。系統管理員可設定「區塊」的大小,建議您根據環境中的位元組範圍要求一般大小來設定大小,以進一步優化。
這項功能的核心是讓ARR將位元組範圍要求「重新對應」到區段。 如下圖所示,當ARR收到位元組範圍要求時,它會嘗試將要求放入「區塊」,並判斷需要傳送至源伺服器的對應範圍(或快取節點已分層,則會傳送至下一層伺服器。收到回應時,ARR 會將內容儲存在片段中(即。“chunks”) 並重寫回應,以符合原始要求與 ARR。
透過一般作業,ARR 最終會「收集」所有「區塊」片段,並快取整個內容。
步驟 2 - 設定位元組範圍區段大小。
根據預設,位元組範圍區段大小為256KB。 系統管理員可能會想要根據環境中的一般流量模式來變更此值。
啟動 IIS 管理員。
位元組範圍區段大小設定是在伺服器層級管理的全域設定。 選取並展開伺服器的根目錄。
按兩下 [應用程式要求路由快取]。
在 [ 動作] 窗格中,按兩下 [ 快取組態...]。
在 [ 快取組態 ] 頁面上,找出 位元組範圍區段大小 (KB):輸入欄位元段。
變更值,然後按兩下 [ 套用]。 在本逐步解說中,您會將值設定為 1KB。
注意
此設定僅供逐步解說之用。 1KB 太小的區段大小,而且可能會導致片段化。
步驟 2 - 驗證功能。
您將需要用戶端工具來建立位元組範圍要求。 您也會想要追蹤並擷取 HTTP 要求,以確保用戶端會根據所傳送的要求接收預期的回應。
傳送範圍為 0-500 的位元組範圍要求。 在此範例中,位元組範圍要求已傳送至 /pix/IMG_1400.jpg。
如果您有方法來監視網路,例如使用 Microsoft 網路監視器,請確認用戶端已收到 0-500 的範圍。
找出IMG_1400.jpg應位於快取磁碟驅動器位置的資料夾,並輸入 dir /a 來列出內容。
確認名稱為 0-1023 的檔案存在。 此檔案代表範圍 0-1023(即一個區塊)。 這是預期的行為,因為 0-500 範圍在 0-1023 中「適合」。
針對同一個檔案,傳送另一個字節範圍要求,範圍為 1500-3000。
列出相同的 directory.6。 由於範圍介於 1500 和 3000 個「跨」兩個「區塊」之間,1024-2047 和 2048-3071,因此會快取另外兩個檔案。
最後,針對同一個檔案傳送另一個字節範圍要求,範圍為 2500-4000。 列出相同的目錄。
在此情況下,第一個「區塊」(2048-3071)會導致快取命中。 ARR 判斷它需要取得第二個「區塊」(3072-4095),並只針對第二個部分將位元組範圍要求傳送至源伺服器。 同樣地,使用網路監視器,確認用戶端和 ARR 與源伺服器之間正在傳送適當的範圍要求和回應。
摘要
您已成功逐步解說 ARR 如何支援位元組範圍要求,並設定分割大小以優化您環境中的設定。
如需其他 ARR 第 2 版逐步解說,請參閱本文中的檔。