

# 优化目录存储桶性能
<a name="s3-express-optimizing-performance"></a>

要在使用目录存储桶时获得最佳性能，我们建议遵循以下准则。

有关 S3 Express One Zone 的最佳实践的更多信息，请参阅[优化 S3 Express One Zone 性能的最佳实践](s3-express-optimizing-performance-design-patterns.md)。

## 使用基于会话的身份验证
<a name="s3-express-optimizing-performance-session-authentication"></a>

目录存储桶支持基于会话的新型授权机制，用于对发送到目录存储桶的请求进行身份验证和授权。使用基于会话的身份验证，AWS SDK 会自动使用 `CreateSession` API 操作创建临时会话令牌，该令牌可用于对发送到目录存储桶的数据请求进行低延迟授权。

AWS SDK 使用 `CreateSession` API 操作请求临时凭证，然后代表您每 5 分钟自动创建和刷新令牌。为了充分利用目录存储桶的性能优势，我们建议您使用 AWS SDK 来启动和管理 `CreateSession` API 请求。有关此基于会话的模型的更多信息，请参阅 [使用 `CreateSession` 对可用区端点 API 操作进行授权](s3-express-create-session.md)。

## 其他 S3 校验和最佳实践
<a name="s3-express-optimizing-performance-checksums"></a>

目录存储桶为您提供了选择校验和算法的选项，该算法用于在上传或下载期间验证数据。您可以选择以下安全哈希算法（SHA）或循环冗余校验（CRC）数据完整性检查算法之一：CRC32、CRC32C、SHA-1 和 SHA-256。S3 Express One Zone 存储类不支持基于 MD5 的校验和。

CRC32 是 AWS SDK 在对目录存储桶往返传输数据时默认使用的校验和。我们建议使用 CRC32 和 CRC32C，以便在目录存储桶上获得最佳性能。

## 使用最新版本的 AWS SDK 和通用运行时库
<a name="s3-express-optimizing-performance-aws-sdks"></a>

一些 AWS SDK 还提供 AWS 通用运行时（CRT）库，以进一步提高 S3 客户端的性能。这些 SDK 包括 AWS SDK for Java 2.x、适用于 C\$1\$1 的 AWS SDK 和 适用于 Python (Boto3) 的 AWS SDK。基于 CRT 的 S3 客户端通过自动使用分段上传 API 操作和字节范围提取来自动进行横向扩展连接，从而以高性能和可靠性向目录存储桶往返传输数据。

要使用目录存储桶实现卓越的性能，我们建议使用包含 CRT 库的 AWS SDK 的最新版本，或者使用 AWS Command Line Interface（AWS CLI）。