

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

# HSM 調節
<a name="troubleshoot-hsm-throttling"></a>

當您的工作負載超過 AWS CloudHSM 叢集的硬體安全模組 (HSM) 容量時，您會收到錯誤訊息，指出 HSMs忙碌或受到調節。發生這種情況時，您可能會看到 HSM 輸送量減少或拒絕請求的速率提高。此外，HSM 可能會傳送下列忙碌錯誤。

## 適用於用戶端 SDK 5
<a name="ts-hsm-throttling-sdk5-errors"></a>
+ 在 PKCS11 中，忙碌錯誤會映射至 `CKR_FUNCTION_FAILED`。發生此錯誤的原因有多種，但如果 HSM 限流造成此錯誤，則日誌中會出現下列日誌行：
  + `[cloudhsm_provider::hsm1::hsm_connection::e2e_encryption::error] Failed to prepare E2E response. Error: Received error response code from Server. Response Code: 187`
  + `[cloudhsm_pkcs11::decryption::aes_gcm] Received error from the server. Error: This operation is already in progress. Internal error code: 0x000000BB`
+ 在 JCE 中，忙碌錯誤映射到 `com.amazonaws.cloudhsm.jce.jni.exception.InternalException: Unexpected error with the Provider: The HSM could not queue the request for processing.`
+ 其他 SDK 的忙碌錯誤打印出以下消息：`Received error response code from Server. Response Code: 187`。

## 適用於用戶端 SDK 3
<a name="ts-hsm-throttling-sdk3-errors"></a>
+ 在 PKCS11 中，忙碌錯誤會映射到 `CKR_OPERATION_ACTIVE` 錯誤。
+ 在 JCE 中，忙碌錯誤映射至 `CFM2Exception`，狀態為 `0xBB (187)`。應用程式可以使用 `CFM2Exception` 的 `getStatus()` 函數來檢查 HSM 傳回的狀態。
+ 其他 SDK 忙碌錯誤將打印出以下消息：`HSM Error: HSM is already busy generating the keys(or random bytes) for another request.`

## Resolution
<a name="ts-hsm-throttling-resolution"></a>

您可以完成下列其中一個或多個動作解決這些問題：
+ 在應用程式層中針對已拒絕的 HSM 作業新增重試命令。在啟用重試命令之前，請確定叢集的大小已適當符合尖峰負載。
**注意**  
對於用戶端 SDK 5.8.0 及更新版本，預設會開啟重試命令。如需有關每個 SDK 重試命令設定的詳細資訊，請參閱 [用戶端 SDK 5 設定工具的進階組態](configure-sdk5-advanced-configs.md)。
+ 依照 [擴展 AWS CloudHSM 叢集中的 HSMs](add-remove-hsm.md) 中的指示，將更多 HSM 新增至叢集。
**重要**  
我們建議您測試叢集的負載，以確定您應預期的尖峰負載，然後在叢集中再新增一個 HSM 以確保高可用性。