

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

# File Transfer 最佳實務
<a name="best-practices"></a>

為了充分利益Nimble Studio File Transfer，我們建議您在此頁面上執行最佳作法。

**Topics**
+ [Amazon Simple Storage Service (Amazon S3)](#best-practices-s3)
+ [AWS Key Management Service (AWS KMS)](#best-practices-kms)
+ [硬體](#best-practices-hardware)
+ [組態](#best-practices-configuration)
+ [效能最佳化](performance-optimization.md)

## Amazon Simple Storage Service (Amazon S3)
<a name="best-practices-s3"></a>
+ 遵循[建立物件金鑰名稱教學中所述的 Amazon 簡單儲存體服務 (Amazon S3) 儲存貯體命名](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html)實務。
+ 若要將全球各地傳輸到 Amazon S3 儲存貯體的傳輸速度最佳化，請遵循[使用 Amazon S3 傳輸加速設定快速、安全的檔案傳輸](https://docs.aws.amazon.com/AmazonS3/latest/userguide/transfer-acceleration.html)教學中的指示進行操作。
+ 若要將儲存成本降至最低，請遵循 [＜ 設定值區生命週期組態以中止不完整的分段上傳教學 ＞ 中的指示，設定生命週期](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpu-abort-incomplete-mpu-lifecycle-config.html)規則。如需降低成本的詳細資訊，請參閱部落格文章「[探索和刪除不完整的分段上傳」以降低 Amazon S3 成本](https://aws.amazon.com/blogs/aws-cloud-financial-management/discovering-and-deleting-incomplete-multipart-uploads-to-lower-amazon-s3-costs/)。

## AWS Key Management Service (AWS KMS)
<a name="best-practices-kms"></a>
+ 在中建立 S3 儲存貯體時[建立 S3 儲存貯體](setting-up.md#setting-up-bucket)，建議您選擇一個金**AWS Key Management Service鑰 (SSE-KMS**)。如需 KMS 金鑰的詳細資訊，請參閱[客戶金鑰和金AWS鑰](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-mgmt)。

## 硬體
<a name="best-practices-hardware"></a>

我們建議您的電腦符合以下要求供您使用File Transfer。
+ 8 個邏輯 CPU 核心 
+ 8 GB RAM

File Transfer可以在規格少於這些規格的機器上運行，但這可能會降低性能。

## 組態
<a name="best-practices-configuration"></a>

您可以選擇使用自動調整或手動調整參數，以最適合您的檔案傳輸使用案例。如果您選擇手動調整設定，如果執行不當，可能會遇到效能不佳的情況。我們建議大多數使用者保持啟用**自動調整**。

### 自動調整配置
<a name="best-practices-auto-tuning"></a>

我們建議大多數使用者將 [**傳送自動調整**] 設定保持啟用狀態 如果啟用「**傳輸自動調整**」設定，File Transfer會自動設定**執行緒數目**和**區塊大**小的值。 File Transfer根據您傳輸的資料類型決定最有效的設定。

**傳輸自動調**整設定會根據每個檔案調整您的效能設定。如果您手動設定**執行緒數目**和**區塊大小**的值，這些設定會套用至整批傳輸。這就是為什麼**傳輸不同大小的文件時，傳輸自動調整**通常會提高性能的原因。**傳輸自動微調設定的效能與傳輸**相似大小的檔案時手動設定調整的效能相當。如果您具備硬體和傳輸資料的進階知識，您的手動設定可能會超越**傳輸自動調整**選擇的值。

### 執行緒
<a name="best-practices-threads"></a>

使用時File Transfer，每次傳輸都會分割成用於傳輸每個檔案的多個個別執行緒。上傳大型檔案 (> 1 GB) 時，執行緒最有效。線程也可以幫助處理小文件，但傳輸速度的差異將不明顯。

默認情況下，線程數為 10。我們建議您以增量 5 來提高此值，直到您完全使用頻寬資源為止。您可以透過查看傳輸的下載和上傳速度，從圖形使用者介面 (GUI) 監視頻寬資源。

### 塊大小
<a name="best-practices-chunk-size"></a>

塊大小是每個線程傳遞的大小（以 MB 為單位）。如果檔案大小在正在上傳的檔案集中重複，則區塊大小會很有幫助。

建議您將區塊大小設定為要傳輸的平均檔案大小 5 到 10 倍。例如，如果資料集中的平均檔案大小為 50 MB，請將區塊大小設定在 55 到 60 之間。如果文件大小大於 1 GB，則不會顯示太多好處。

### 最大作用中傳輸
<a name="best-practices-max-active-transfers"></a>

最大作用中傳輸會決定同時File Transfer處理多少個個別檔案。當您傳輸多個小於 1 GB 的小型檔案時，調整作用中傳輸上限是最有效的。我們建議您隨著檔案大小減小而增加最大作用中傳輸的值。

下表顯示最大作用中傳輸的建議起點和增量。從「最大有效移轉」欄中的值開始，並按增量增加，直到達到所需的效能為止。


| 檔案大小 | 最大作用中傳輸 | 增量 | 
| --- | --- | --- | 
| 小於 1 MB | 100 | `20` | 
| 大於 1 MB | 50 | `10` | 
| 超過 100 MB — 小於 1 GB | 25 | `5` | 
| > 1 GB 以上 | 10 | `2` | 

### 檢查總和
<a name="best-practices-threads"></a>

[File Transfer校驗和](checksums.md)是一次File Transfer處理的個別總和檢查碼數目。總和檢查碼演算法是傳輸檔案時File Transfer用於檔案完整性的演算法。

您可以選擇四種總和檢查碼演算法：MD5XXHash、XXHash64、和XXH3。這是根據您想要的安全性和速度等級而定的偏好設定。最早和最標準的檢查碼方法是MD5安全的。

建議的最大作用中總和檢查值是 CPU 核心總數減去 1。