优化目录存储桶性能
要在使用目录存储桶时获得最佳性能,我们建议遵循以下准则。
使用基于会话的身份验证
目录存储桶支持基于会话的新型授权机制,用于对发送到目录存储桶的请求进行身份验证和授权。使用基于会话的身份验证,Amazon SDK 会自动使用 CreateSession
API 操作创建临时会话令牌,该令牌可用于对发送到目录存储桶的数据请求进行低延迟授权。
Amazon SDK 使用 CreateSession
API 操作请求临时凭证,然后代表您每 5 分钟自动创建和刷新令牌。为了充分利用目录存储桶的性能优势,我们建议您使用 Amazon SDK 来启动和管理 CreateSession
API 请求。有关此基于会话的模型的更多信息,请参阅 使用 CreateSession 对可用区端点 API 操作进行授权。
其他 S3 校验和最佳实践
目录存储桶为您提供了选择校验和算法的选项,该算法用于在上传或下载期间验证数据。您可以选择以下安全哈希算法(SHA)或循环冗余校验(CRC)数据完整性检查算法之一:CRC32、CRC32C、SHA-1 和 SHA-256。S3 Express One Zone 存储类不支持基于 MD5 的校验和。
CRC32 是 Amazon SDK 在对目录存储桶往返传输数据时默认使用的校验和。我们建议使用 CRC32 和 CRC32C,以便在目录存储桶上获得最佳性能。
使用最新版本的 Amazon SDK 和通用运行时库
一些 Amazon SDK 还提供 Amazon 通用运行时(CRT)库,以进一步提高 S3 客户端的性能。这些 SDK 包括 Amazon SDK for Java 2.x、适用于 C++ 的 Amazon SDK 和 适用于 Python (Boto3) 的 Amazon SDK。基于 CRT 的 S3 客户端通过自动使用分段上传 API 操作和字节范围提取来自动进行横向扩展连接,从而以高性能和可靠性向目录存储桶往返传输数据。
要使用目录存储桶实现卓越的性能,我们建议使用包含 CRT 库的 Amazon SDK 的最新版本,或者使用 Amazon Command Line Interface(Amazon CLI)。