在 Amazon CloudSearch 中設定擴展選項 - Amazon CloudSearch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 Amazon CloudSearch 中設定擴展選項

搜尋網域具有一個或多個搜尋執行個體,各執行個體用於對資料編製索引和處理請求的 RAM 及 CPU 資源有限。透過設定調整規模選項,您可以控制所要使用的執行個體類型、搜尋索引分佈的執行個體數目 (分割區計數) 及每個索引分割區的複本數目 (複寫計數)。網域的所有執行個體一律為同一類型。

您可以設定 Amazon CloudSearch 網域所需的執行個體類型、分割區計數或複寫計數,以:

  • 增加上傳容量。預設情況下,所有搜尋網域起初都是配備一個 search.small 執行個體。變更您的網域所需的執行個體類型即可增加文件上傳容量。如果您有大量資料要上傳,例如,當您最初填入搜尋網域時,您可以選擇較大的執行個體類型,以增加可平行提交的更新數量,並減少編製資料索引所需的時間。若您已是使用最大的執行個體類型,則可增加所需的分割區計數以進一步增加上傳容量。如需詳細資訊,請參閱大批上傳。請注意,增加所需的複寫計數通常「不會」增加網域的上傳容量。

  • 加速搜尋請求。選擇較大的所需執行個體類型亦可加速搜尋請求。如果您的請求已經過調整但仍未能符合您的效能目標,請嘗試選擇更大的執行個體類型。若您已是使用最大的執行個體類型,則可增加所需的分割區計數以進一步提升查詢效能。如需詳細資訊,請參閱在 Amazon CloudSearch 中調整搜尋請求效能

  • 增加搜尋容量。 根據預設,Amazon CloudSearch 每個索引分割區會使用一個執行個體。當 Amazon CloudSearch 自動擴展網域時,它會根據處理查詢流量所需的資源新增複本。如欲增加網域的搜尋容量,您要設定所需的複寫計數。不過,部署額外的執行個體需要一些時間。若您預先得知將需要更多容量,例如即將舉辦大型上市發表會,請提前增加複本數以確保您的搜尋網域做好應付負載的準備。

  • 提升容錯能力。增加所需的複寫計數也會改善網域的容錯能力,如果其中一個複本發生問題,其他複本會在復原時繼續處理請求。不過請注意,各複本位於同一個可用區域。若您需要確保網域在該可用區域發生服務中斷時仍能運作,即應啟用異地同步備份選項。如需詳細資訊,請參閱設定可用性選項

當您設定所需的執行個體類型、所需的複本數量或所需的分割區計數時,Amazon CloudSearch 會視需要擴展您的網域,但永遠不會將網域擴展到小於所需類型的執行個體類型、使用比所需複本數量更少的複本,或將分割區計數減少到所需的分割區計數以下。

注意

自動擴展進展是根據執行個體類型的可用磁碟空間而定。search.smallsearch.medium執行個體類型具有相同數量的磁碟空間,因此兩者都擴展到 search.large

您隨時皆可變更調整規模選項。若您只是暫時需要更多容量,可以透過設定調整規模選項的方式預先調整您的網域規模,直到您的上傳量或查詢量回歸網域的穩定狀態後再還原各項變更。進行變更之後,您必須對網域重新編製索引以使變更生效,而這可能需要一些時間。重新編製索引所需的時間取決您的索引有多少資料量。透過監控網域狀態即可得知索引何時編製完成:屆時狀態會從 PROCESSING 變更為 ACTIVE。

在 Amazon CloudSearch 中選擇擴展選項

設定網域的調整規模選項時,您必須就成本與效能權衡利弊;變更所需的執行個體類型、複寫計數和分割區計數可能會對您運行網域造成嚴重的成本衝擊。

如要判斷應選擇哪一種執行個體類型處理您的上傳流量,請提高您的上傳速率同時監控上傳效能。若您仍未達到所需的上傳速率即開始出現大量的 504 或 507 錯誤,請選擇更大的執行個體類型。若您已是使用最大的執行個體類型,則可增加分割區數目以進一步增加上傳容量。

對於少於 1 GB 或少於一百萬 1 KB 文件的資料集,小型搜尋執行個體應該足夠。若要上傳介於 1 GB 到 8 GB 之間的資料集,建議您在開始上傳search.large之前,將所需的執行個體類型設定為 。對於 8 GB 到 16 GB 之間的資料集,請從 開始search.xlarge。對於 16 GB 到 32 GB 之間的資料集,請從 開始search.2xlarge。如果您要上傳的分割區超過 32 GB,請選取search.2xlarge執行個體類型並增加所需的分割區計數,以容納資料集。每個分割區最多可包含 32 GB 的資料。如果您需要更多上傳容量或需要超過 500 GB 的索引,請提交服務提高限制請求

如要判斷需有多少複本才足以處理特定的查詢量,請抽樣使用預期的查詢以您需要支援的速率進行一些測試。請切記,查詢效能絕大部分取決於所處理的查詢類型。一般而言,傳回大量命中項目的搜尋和複雜的結構式查詢比起僅比對搜尋網域內一小部分文件的單純文字查詢更耗費資源。若您預期將會有大量複雜的查詢,請選擇較大的所需執行個體類型並增加所需的複寫計數。

透過 Amazon CloudSearch 主控台設定擴展選項

設定搜尋網域的調整規模選項

請注意,變更所需的執行個體類型和複寫計數可能會大幅增加您運行網域的成本。

  1. 在 Amazon CloudSearch 主控台上,選擇您要設定的網域名稱。

  2. 網域組態索引標籤上,選擇擴展選項旁的編輯

  3. 所需的執行個體類型功能表中選取執行個體類型

  4. 所需的複寫計數功能表中選取要使用的複本數量。

  5. 如果您選取search.2xlarge執行個體類型,請設定所需的分割區計數。如果您上傳的資料超過單一分割區的數目,請增加search.2xlarge分割區計數。如需詳細資訊,請參閱大批上傳

  6. 選擇提交

  7. 完成網域組態的變更後,請選擇動作執行索引,以更新索引並將索引部署到新的執行個體。

透過 設定擴展選項 AWS CLI

您可以使用 aws cloudsearch update-scaling-parameters命令來設定搜尋網域的擴展選項。如需有關安裝和設定 的資訊 AWS CLI,請參閱 AWS Command Line Interface 使用者指南

設定搜尋網域的調整規模選項
  • 執行 aws cloudsearch update-scaling-parameters 命令。您可以指定所需的執行個體類型和所需的複寫計數。若您選擇最大的執行個體類型 (search.2xlarge),則另可設定所需的分割區計數。例如,以下命令將所需的執行個體類型設為 search.xlarge 並將所需的複寫計數設為 2。您必須同時指定 --domain-name--scaling-parameters 選項。

    aws cloudsearch update-scaling-parameters --domain-name movies --scaling-parameters DesiredInstanceType=search.xlarge,DesiredReplicationCount=2 { "ScalingParameters": { "Status": { "PendingDeletion": false, "State": "RequiresIndexDocuments", "CreationDate": "2014-06-25T21:41:21Z", "UpdateVersion": 10, "UpdateDate": "2014-06-25T21:41:21Z" }, "Options": { "DesiredInstanceType": "search.xlarge", "DesiredReplicationCount": 2 } } }
    重要

    當您指定 時--scaling-parameters,Amazon CloudSearch 會將未指定的選項視為「重設為預設值」,而不是「保持原狀」。

    例如,如果您在命令--scaling-parameters DesiredInstanceType=search.xlarge中指定 ,然後在後續命令--scaling-parameters DesiredReplicationCount=2中指定 ,Amazon CloudSearch 會在第二個命令期間重設DesiredInstanceType為預設值。

    如果您希望保留第一個命令所做的變更,則所有後續命令都必須再次指定其值:--scaling-parameters DesiredInstanceType=search.xlarge,DesiredReplicationCount=2

為使變更生效,您必須起始索引建置。透過呼叫 aws cloudsearch index-documents 即可重建索引。

透過 AWS 開發套件設定調整規模選項

AWS SDKs (Android 和 iOS SDKs除外) 支援 Amazon CloudSearch 組態 API 中定義的所有 Amazon CloudSearch 動作,包括 UpdateScalingParameters。如需安裝與使用 AWS 開發套件的詳細資訊,請參閱 AWS 軟體開發套件