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

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

在 Amazon 中設定擴展選項 CloudSearch

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

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

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

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

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

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

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

注意

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

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

在 Amazon 中選擇擴展選項 CloudSearch

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

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

對於資料少於 1 GB 或少於 100 萬個 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 開發套件 (Android 和 iOS 開發套件除外) 支援 Amazon CloudSearch 設定 API 中定義的所有 Amazon CloudSearch 動作,包括。UpdateScalingParameters如需安裝與使用 AWS 開發套件的詳細資訊,請參閱 AWS 軟體開發套件