在 SharePoint Server 中規劃企業搜尋架構

適用于:yes-img-132013 yes-img-16 2016yes-img-192019 yes-img-se訂閱版本 no-img-sopMicrosoft 365 中的 SharePoint

設定您的企業搜尋架構之前,需要謹慎地規劃一些項目。 我們將會逐步協助您規劃小型、中型、大型或特大型企業搜尋架構。

您是否熟悉 SharePoint Server 中的搜尋系統元件及其互動方式? 在繼續之前,請閱讀<SharePoint Server 的搜尋架構概觀>和<SharePoint Server 2016 的搜尋架構> (或< SharePoint Server 2013 的搜尋架構>),以熟悉搜尋架構、搜尋元件、搜尋資料庫和搜尋拓撲。 以下是一些規劃搜尋架構時建議考量的事項:

步驟 1:我有多少內容?

在搜尋索引中有多少內容會影響裝載伺服器陣列時需要什麼資源。 請預估您打算要讓多少項目可供搜尋。 以下是一些項目的範例:文件、網頁、SharePoint 清單項目以及影像。 請記住,SharePoint 清單中的每個項目各算一個項目。

得出一個數字時,請乘以您預期該內容在未來 12 個月的成長倍數。

例如,如果您從 12,000 個索引項目目開始,而且預期該內容的磁片區在未來 12 個月內會增加三倍。 您應該規劃 36,000 個可搜尋的專案。

步驟 2:用多大的搜尋架構容納多少內容?

評估要建立多大的搜尋架構有時候並不簡單。 搜尋架構的大小取決於內容量、編目率、查詢輸送量以及您需要的高可用性層級。 這是我們建議使用的範例搜尋架構,可作為規劃您的伺服器陣列的基礎。 您選擇的範例搜尋架構取決於可供搜尋的內容量而定:

內容量 (SharePoint 2016) 範例搜尋架構 內容量 (SharePoint 2013)
0 至 2,000 萬個項目 小型搜尋伺服器陣列 0 至 1,000 萬個項目
0 至 8,000 萬個項目 中型搜尋伺服器陣列 0 至 4,000 萬個項目
0 至 2 億個項目 大型搜尋伺服器陣列 0 至 1 億個項目
0 至 5 億個項目 特大型搜尋伺服器陣列 不支援

雖然這些範例搜尋架構使用虛擬機器,但是您可以根據搜尋架構整體的 SharePoint Server 解決方案策略,使用實體伺服器和虛擬機器。

小型搜尋伺服器陣列

我們估計此搜尋架構可以每秒編目 50 份文件,並每秒依序服務 10 個查詢。 如果您的 SharePoint Server 2016 伺服器陣列中有 2000 萬個項目,小型搜尋伺服器陣列可能是最適合您的伺服器陣列。 在每秒 50 份文件的編目率下,當搜尋第一次完整編目,需要 110 個小時來編目 2000 萬個項目。

小型企業搜尋架構範例中伺服器和搜尋元件的圖表

中型搜尋伺服器陣列

我們估計此搜尋架構可以每秒編目 100 份文件,並每秒依序服務 10 個查詢。 如果您的 SharePoint Server 2016 伺服器陣列中有 2,000 萬至 8,000 萬個項目,中型搜尋伺服器陣列可能是最適合您的伺服器陣列。 在每秒 200 份文件的編目率下,當搜尋第一次完整編目,需要 280 個小時來編目 8,000 萬個項目。

中型企業搜尋架構範例中伺服器和搜尋元件的圖表

大型搜尋伺服器陣列

我們估計此搜尋架構可以每秒編目 200 份文件,並每秒依序服務 10 個查詢。 如果您的 SharePoint Server 2016 伺服器陣列中有 8,000 萬至 2 億個項目,大型搜尋伺服器陣列可能是最適合您的伺服器陣列。 在每秒 200 份文件的編目率下,當搜尋第一次完整編目,需要 280 個小時來編目 2 億個項目。

大型企業搜尋架構範例中伺服器和搜尋元件的圖表

特大型搜尋伺服器陣列

Microsoft 測試了此搜尋架構,測量到它可以每秒編目 300-500 份文件,並每秒依序服務 10 個查詢。 只有 SharePoint Server 2016 支援此大小的搜尋架構。 如果您有多達 5 億個項目,類似於特大型搜尋伺服器陣列的伺服器陣列會是不錯的起點。 在每秒 500 份文件的編目率下,當搜尋第一次完整編目,需要 300 個小時來編目 5 億個項目。

要建立此大小的搜尋伺服器陣列,需要仔細規劃並調整伺服器陣列,才能獲得您希望的效能。 您可能會發現尋求專家的指導比較有利。 計劃如何備份和還原此大小的搜尋伺服器陣列,以及在資料中心有重大中斷時如何復原伺服器陣列也很重要。 我們建議您練習備份、還原及復原。

特大型企業搜尋範例中伺服器和搜尋元件的圖表。

步驟 3:我應該要知道哪些硬體需求?

現在,您已經決定內容數量並選擇範例搜尋架構,下一步是規劃您需要的硬體,此將在本節說明:

選擇以實體或虛擬的方式執行伺服器

如果您使用的是已經過測試其中一個架構,則會在虛擬機器上執行您的搜尋架構。 另請注意,雖然虛擬環境較容易管理,但其效能層級有時可能會稍低於實體環境。 實體伺服器在同一部伺服器上可以代管的搜尋元件數量,比虛擬伺服器更多。 您可以在Overview of farm virtualization and architectures for SharePoint 2013中發現有效指引。

也可以在實體伺服器上執行您的搜尋架構。 在範例伺服器陣列架構中,只要從虛擬機器中將搜尋元件移至主機伺服器,並移除虛擬機器。 每個實體伺服器可以代管最多四個索引元件,但其他搜尋元件每種類型只能有一個。 舉例來說,如果您變更中型範例搜尋架構,而改用實體伺服器,您會發現在主機 E 上有兩個內容處理元件。解決方法是移除其中一個內容處理元件。 這是因為編目、內容的處理,以及分析的處理取決於可用資源數量,而非內容處理元件的數目。

選擇以實體或虛擬的方式執行伺服器

選擇主機伺服器的硬體資源

每個搜尋元件和搜尋資料庫都需要主機伺服器的最少硬體資源數量,才能執行良好。 但是,您有的硬體資源越多,搜尋架構的效能會越好。 因此,數量最好高於最少硬體資源數量。 每個搜尋元件所需的資源取決於工作量,大部分是根據編目率、查詢率和索引項目數目所決定。

例如,在 Windows Server 2008 R2 Service Pack 1 (SP1) 上裝載虛擬機器時,每部虛擬機器無法使用四個以上的 CPU 核心。 使用 Windows Server 2012 或更新版本,您可以每部虛擬機器使用八個以上的 CPU 核心。 然後,您可以每部虛擬機器擴充更多 CPU 核心,而非垂直擴充更多虛擬機器。 請設定裝載相同搜尋元件的伺服器或虛擬機器,且硬體資源相同。 我們將使用索引元件做為範例。 在虛擬機器上裝載索引分割區時,效能最弱的虛擬機器會決定整體搜尋架構的效能。

一般儲存空間

請確定每個主機伺服器都有足夠的磁碟空間,可供 Windows Server 作業系統的基礎安裝和 SharePoint Server 程式檔使用。 主機伺服器也需要可用的硬碟空間來進行日常作業和頁面檔案的診斷,例如記錄、偵錯及建立記憶體傾印。 一般而言,80 GB 的磁碟空間足以供 Windows Server 作業系統和 SharePoint Server 程式檔使用。

請新增儲存體,供每部資料庫伺服器的 SQL 記錄空間使用。 如果您未設定資料庫伺服器經常備份資料庫,則 SQL 記錄空間會使用許多儲存體。 如需如何規劃 SQL 資料庫的詳細資訊,請參閱規劃及設定儲存設備與 SQL Server 容量 (SharePoint Server)

分析報告資料庫需要的最低儲存設備可能有所差異。 原因是儲存設備的數量取決於使用者如何與 SharePoint Server 互動。 使用者互動頻繁時,通常會儲存更多事件。 請檢查目前搜尋架構用於分析資料庫的儲存體數量,並至少針對已重新設計的拓撲指派此數量。

小型搜尋伺服器陣列的最低硬體資源

此表格顯示每部應用程式伺服器或資料庫伺服器所需的最少硬體資源數量。

伺服器 在主機上 儲存體 RAM Processor1 網路頻寬
具有查詢處理和索引元件的應用程式伺服器。 A、B 500 GB2,3 32 GB2,3 1.8 GHz 8x CPU 核心2,3 1 Gbps
具有編目、搜尋管理、分析及內容處理元件的應用程式伺服器。 A、B 200 GB 8 GB 1.8 GHz 4x CPU 核心 1 Gbps
具有所有搜尋資料庫的資料庫伺服器。 C、D 100 GB 16 GB 1.8 GHz 4x CPU 核心 1 Gbps

1這裡指的是 CPU 核心數,而非 CPU 執行緒數。

2若使用 SharePoint Server 2013,所需的最低資源量是 500 GB 儲存體、16 GB RAM,以及四個 CPU 核心。

3若使用 SharePoint Server 2016,您也可以使用 250 GB 儲存體、16 GB RAM 以及四個 CPU 核心,但是每個索引元件只能保留 1,000 萬個項目,且搜尋伺服器陣列僅支援與 SharePoint Server 2013 搜尋伺服器陣列相同的內容量。

中型搜尋伺服器陣列的最低硬體資源

此表格顯示每部應用程式伺服器或資料庫伺服器所需的最少硬體資源數量。

伺服器 在主機上 儲存體 RAM Processor1 網路頻寬
具有查詢處理和索引元件的應用程式伺服器。 A、B、C、D 500 GB2,3 32 GB2,3 1.8 GHz 8x CPU 核心2,3 1 Gbps
具有索引元件的應用程式伺服器。 A、B、C、D 500 GB2,3 32 GB2,3 1.8 GHz 8x CPU 核心2,3 1 Gbps
具有分析和內容處理元件的應用程式伺服器。 E、F 300 GB 8 GB 1.8 GHz 4x CPU 核心 1 Gbps
具有編目、搜尋管理及內容處理元件的應用程式伺服器。 E、F 100 GB 8 GB 1.8 GHz 4x CPU 核心 1 Gbps
具有所有搜尋資料庫的資料庫伺服器。 G、H 400 GB 16 GB 1.8 GHz 4x CPU 核心 1 Gbps

1這裡指的是 CPU 核心數,而非 CPU 執行緒數。

2若使用 SharePoint Server 2013,所需的最低資源量是 500 GB 儲存體、16 GB RAM,以及四個 CPU 核心。

3若使用 SharePoint Server 2016,您也可以使用 250 GB 儲存體、16 GB RAM 以及四個 CPU 核心,但是每個索引元件只能保留 1,000 萬個項目,且搜尋伺服器陣列僅支援與 SharePoint Server 2013 搜尋伺服器陣列相同的內容量。

大型搜尋伺服器陣列的最低硬體資源

此表格顯示每部應用程式伺服器或資料庫伺服器所需的最少硬體資源數量。

伺服器 在主機上 儲存體 RAM Processor1 網路頻寬
具有查詢處理和索引元件的應用程式伺服器。 A、B、C、D、E、G、H 500 GB2, 3 32 GB2, 3 1.8 GHz 8x CPU 核心2, 3 1 Gbps
具有索引元件的應用程式伺服器。 A、B、C、D、E、F、G、H、I、J 500 GB2, 3 32 GB2, 3 1.8 GHz 8x CPU 核心2, 3 1 Gbps
具有分析和內容處理元件的應用程式伺服器。 K、L、M、N 300 GB 8 GB 1.8 GHz 4x CPU 核心 1 Gbps
具有編目和搜尋管理元件的應用程式伺服器 K、L 100 GB 8 GB 1.8 GHz 4x CPU 核心 1 Gbps
具有搜尋資料庫的資料庫伺服器 O、P、Q、R 500 GB 16 GB 1.8 GHz 4x CPU 核心 1 Gbps

1這裡指的是 CPU 核心數,而非 CPU 執行緒數。

2若使用 SharePoint Server 2013,所需的最低資源量是 500 GB 儲存體、16 GB RAM,以及四個 CPU 核心。

3若使用 SharePoint Server 2016,您也可以使用 250 GB 儲存體、16 GB RAM 以及四個 CPU 核心,但是每個索引元件只能保留 1,000 萬個項目,且搜尋伺服器陣列僅支援與 SharePoint Server 2013 搜尋伺服器陣列相同的內容量。

特大型搜尋伺服器陣列的最低硬體資源

此表格顯示每部應用程式伺服器或資料庫伺服器所需的最少硬體資源數量。 您只可以使用 SharePoint Server 2016 建置此範例伺服器陣列。

伺服器 在主機上 儲存體 RAM Processor1 網路頻寬
具有索引元件的應用程式伺服器。 A-X 500 GB 32 GB 1.8 GHz 8x CPU 核心 1 Gbps
具有查詢處理和索引元件的應用程式伺服器。 Y、Z 500 GB 32 GB 1.8 GHz 8x CPU 核心 1 Gbps
具有編目、搜尋管理或內容處理元件的應用程式伺服器 AA-AF 100 GB 8 GB 1.8 GHz 4x CPU 核心 1 Gbps
具有分析處理元件的應用程式伺服器 AG、AH 800 GB 8 GB 1.8 GHz 4x CPU 核心 1 Gbps
具有搜尋資料庫的資料庫伺服器 AI-AL 500 GB 16 GB 1.8 GHz 4x CPU 核心 1 Gbps

1這裡指的是 CPU 核心數,而非 CPU 執行緒數。

規劃儲存效能

儲存空間的速度會影響搜尋效能。 請確定您的儲存空間速度足以處理來自搜尋元件和資料庫的流量。 磁碟速度是以每秒 I/O 作業數 (IOPS) 來測量。

您決定將搜尋元件資料與作業系統資料分散在儲存空間中的方式,會影響搜尋效能。 您不妨:

  • 將 Windows Server 作業系統檔案、SharePoint Server 程式檔案和診斷記錄分割到三個具有正常效能的個別儲存磁碟區或分割區。

  • 將搜尋元件資料另外儲存在一個高效能的儲存磁碟區或磁碟分割。

    注意事項

    當您在主機上安裝 SharePoint Server 時,可以設定搜尋元件資料的自訂位置。 主機上需要儲存資料的任何搜尋元件都會將它儲存在此位置中。 若要稍後變更此位置,您必須在該主機上重新安裝 SharePoint Server。

選擇儲存體

如需儲存設備架構和磁碟類型的詳細資訊,請參閱規劃及設定儲存設備與 SQL Server 容量 (SharePoint Server)。 裝載索引、分析處理元件或搜尋資料庫的伺服器需要的儲存設備,必須可以維持低延遲,同時提供足夠的每秒 I/O 作業數 (IOPS)。 下列各表顯示這每個搜尋元件和資料庫需要多少 IOPS。

如果您部署共用儲存設備 (例如 SAN/NAS),一個搜尋元件的尖峰磁碟負載通常會跟其他搜尋元件的尖峰磁碟負載同時發生。 若要得到搜尋作業需要從共用儲存設備得到的 IOPS 數,您需要將這每個元件的 IOPS 相加。

搜尋元件 IOPS 需求

元件名稱 元件詳細資料 IOPS 需求 使用個別儲存磁碟區/磁碟分割
索引元件 合併索引及處理和回應查詢時使用儲存設備。 300 IOPS 用於 64 KB 隨機讀取。
100 IOPS 用於 256 KB 隨機寫入。
200 MB/s 用於循序讀取。
200 MB/s 用於循序寫入。
分析元件 在本機以大量處理方式分析資料。
編目元件 在將下載的內容傳送至內容處理元件之前,先將該內容儲存到本機。 儲存空間受限於網路頻寬。

搜尋資料庫 IOPS 需求

資料庫名稱 IOPS 需求 I/O 子系統的一般負載。
編目資料庫 中至高 IOPS 每秒每文件10 IOPS (DPS) 編目率。
連結資料庫 中 IOPS 搜尋索引中每 100 萬個項目 10 IOPS。
搜尋管理資料庫 低 IOPS 不適用。
分析報表資料庫 中 IOPS 不適用。

選擇您的搜尋架構如何支援高可用性

如果您不熟悉高可用性策格,則以下文章可協助您開始進行:為 SharePoint Server 打造高可用性架構和策略。 將備援的搜尋元件與資料庫裝載於不同容錯網域時,搜尋架構就可支援高可用性。 所有範例搜尋架構都將備援的搜尋元件裝載於獨立伺服器上。

對於搜尋架構中的每個備援主機伺服器,您應該規劃安裝:

  1. 備援網路

  2. 備援電源供應器,配有獨立電線或不斷電供應系統 (UPS)。

步驟 4:如何檢查我的搜尋架構是否執行良好?

將搜尋架構部署至實際執行環境之前,您必須檢查該搜尋架構是否執行良好。 以下是待做事項的檢查清單:

  1. 測試索引元件是否使用具有足夠 IOPS 的儲存 I/O 子系統。 請參閱<測試儲存 I/O 子系統>。

  2. 將搜尋架構部署至試驗環境。 請確定試驗環境足以代表實際執行環境。

  3. 測試試驗環境的搜尋效能。 請參閱<測試搜尋效能

如需在 SharePoint 中進行測試的一般概觀,請參閱 SharePoint Server 2013 的效能測試

測試儲存設備 I/O 子系統

若要測試儲存 I/O 子系統,請執行最重要的磁碟作業並測量 IOPS。 您可以使用 DiskSpd 工具來執行這些測試。 請參閱 DiskSpd:強固的儲存體效能工具

設定測試環境

您不需要設定整個搜尋架構,也不需要安裝 SharePoint Server。 只要設定會產生儲存 I/O 子系統真實工作負載的測試環境即可。

請考量本機儲存設備的案例。 例如,如果在中型搜尋伺服器陣列中的主機 A 使用本機磁碟,您必須安裝兩個虛擬機器,並且同時在這兩個虛擬機器上執行磁碟作業測試。

對於共用儲存空間您需要不同的設定。 例如,如果中型搜尋伺服器陣列中所有索引元件的工作負載,加上其他不相關的工作負載,都共用相同的儲存空間,則您必須:

  1. 將 8 個虛擬機器安裝在主機 A、B、C 及 D 上,並且設定不相關工作負載的來源。

  2. 確定當您在主機 A、B、C 及 D 中的所有虛擬機器上執行同時磁碟作業測試時,不相關的工作負載也會套用至共用儲存空間。

建立測試檔案

  1. 使用 命令 diskspd -c256G testfile 建立 256 GiBytes 測試檔案。 此命令會建立名為 「testfile」 的 256 GiBytes 大小檔案。 您也可以依照下列語法建立具有另一個大小的檔案: diskspd -c<size>[K|M|G|b] <filename>

  2. 將測試檔案儲存至您要測試的儲存裝置。 例如:在中型伺服器陣列中的主機 A 硬碟上。

  3. 重新啟動伺服器。 這樣可以確保快取不會扭曲測試結果。

執行測試

您不妨測量:

  • 中型隨機存取的效能 (請參閱下文的測試號碼 1 和 2)。

  • 大型傳輸的讀取和寫入輸送量 (請參閱下文的測試號碼 3 和 4)。

下表顯示您應該用來執行每個測試的 DiskSpd 命令。 所有命令皆假設目前目錄中存在 "testfile"。 每項測試皆執行 300 秒。

測試號碼 範圍 命令
1 64 KB 讀取 [IOPS] diskspd -t4 -b64K -o25 -r -d300 testfile
2 256 KB 寫入 [IOPS] diskspd -t4 -b256K -o25 -r -w100 -d300 testfile
3 100 MB 讀取 [MB/s] diskspd -t1 -o1 -b100M -r -d300 testfile
4 100 MB 寫入 [MB/s] diskspd -t1 -o1 -b100M -r -w100 -d300 testfile

本機磁碟儲存設備的範例結果

下表中的範例結果顯示,在新增測試檔案之前,部署中至少有 50% 的磁碟子系統容量已在使用中。

磁碟控制器和磁碟轉軸對於這些結果有強烈影響。

如果您在空白磁碟上測試,則會得到更好的結果,因為測試檔案將位於跨所有轉軸的最佳軌道上 (Short Stroking)。 如此可提升效能最高達兩三倍。 如果您測試的硬碟對於未初始化的儲存空間 (或全部都是零的儲存空間,例如動態 VHD/VHDX 檔案) 能夠進行最佳的跳離存取,則您將得到超乎現實的優良結果。 在此情況下,請使用包含實際資料的非常大型測試檔案,而不是使用 DiskSpd 命令產生綜合測試檔案。

           
磁碟配置 測試 1 測試 2 測試 3 測試 4
一般作業期間建議的最低 IOPS 300 100 200 200
4x 1 TB 7200 RPM NLSAS,採用 RAID5,位於 Dell H710 RAID 控制器 (64kB 等量磁碟區大小,64kB 區塊大小) 1181 206 284 296
8x 1TB 7200 RPM NLSAS,採用 RAID5,位於 Dell H710 RAID 控制器 (64kB 等量磁碟區大小,64kB 區塊大小) 2082 337 610 645
16x 1TB 7200 RPM NLSAS,採用 RAID5,位於 Dell H710 RAID 控制器 (64kB 等量磁碟區大小,64kB 區塊大小) 3763 595 1173 1181
16x 1TB 7200 RPM NLSAS,採用 RAID50 (2x8),位於 Dell H710 RAID 控制器 (64kB 等量磁碟區大小,64kB 區塊大小) 3613 545 1139 1164
16x 1TB 7200 RPM NLSAS,採用 RAID10,位於 Dell H710 RAID 控制器 (256kB 等量磁碟區大小,64kB 區塊大小) 4030 1146 970 775
4x SmartStorage Optimus 800GB SSD,採用 RAID5,位於 Dell H710 RAID 控制器 (64kB 等量磁碟區大小,64kB 區塊大小) 32385 3781 1714 1319
4x SmartStorage Optimus 800GB SSD,採用 RAID0,位於 Dell H710 RAID 控制器 (256kB 等量磁碟區大小,64kB 區塊大小) 31747 7149 1643 1798

測試搜尋效能

以下是測試搜尋架構時的該做事項檢查清單:

  1. 選擇要用來執行測試的內容

  2. 選擇要用來測試查詢效能的字詞和片語

  3. 測量搜尋效能

選擇要用來執行測試的內容

請選擇可充分代表您正式運作之內容的內容。 如果您選擇的內容只是因為測試目的而存在,請確定您有不同類型的項目,而不是重複多次的同個項目。 這麼做的原因在於查詢處理器會花時間偵測重複項目,如此會影響搜尋效能,而導致最終無法充分代表實際執行環境。

請設定一或多個內容來源來編目內容。 確認您具有必要的使用者帳戶和網路存取權。

選擇要用來測試查詢效能的字詞和片語

您從查詢得到的結果數稱為重新叫用。

為了測試查詢效能,您必須先建立一組要當成查詢的字詞和片語。 或者從現有的安裝收集查詢。 請確定其中包含低重新叫用和高重新叫用的字詞和片語,且這些字詞和片語與您的環境相關。

範例

  • 如果您在產品目錄中搜尋產品號碼,通常每個產品只有一個號碼。 因此,您很快就會得到搜尋結果。 這就是低重新叫用。

  • 如果您在公司內部網路上搜尋某個常用字詞 (像是 "presentation"),您可能會得到許多結果,而且得到結果所花的時間較長。 這就是高重新叫用。

  • 例如,如果您的內容跟人力資源有關,請使用這個領域的相關搜尋字詞。

測量搜尋效能

SharePoint Server 會將效能測量結果收集在「編目狀況報告」和「查詢狀況報告」中。 您可以在管理中心的 [搜尋管理] 底下找到這些報告。

您不妨先以虛構負載來測量搜尋效能,再以一小組實際使用者和實際內容的負載來測量搜尋效能。 當您使用實際使用者和實際內容時,可以觀察搜尋架構的表現。 如果內容增加的速度比預計更快,或許值得考慮改換大一級的搜尋架構。 或者,如果使用者比預期更活躍,建議您增加分析資料庫的儲存設備空間數量。