活动,空闲和并发 HTTP 连接的优势
如何配置 HTTP 连接可能会影响 StorageGRID 系统的性能。根据 HTTP 连接是活动连接还是空闲连接,或者您有多个并发连接,配置会有所不同。
您可以确定以下类型的 HTTP 连接的性能优势:
-
空闲 HTTP 连接
-
活动 HTTP 连接
-
并发 HTTP 连接
保持空闲 HTTP 连接处于打开状态的优势
即使客户端应用程序处于闲置状态,您也应保持 HTTP 连接处于打开状态,以允许客户端应用程序通过打开的连接执行后续事务。根据系统测量结果和集成经验,您应将闲置的 HTTP 连接保持打开状态最多 10 分钟。StorageGRID 可能会自动关闭保持打开和闲置超过 10 分钟的 HTTP 连接。
开放式和空闲 HTTP 连接具有以下优势:
-
从 StorageGRID 系统确定必须执行 HTTP 事务的时间缩短到 StorageGRID 系统可以执行此事务的时间
缩短延迟是主要优势,尤其是在建立 TCP/IP 和 TLS 连接所需的时间方面。
-
通过在先前执行的传输中填充 TCP/IP 慢速启动算法来提高数据传输速率
-
瞬时通知多种中断客户端应用程序与 StorageGRID 系统之间连接的故障情况
‐保持闲置连接打开多长时间是对与现有连接相关的慢速启动优势与将连接分配给内部系统资源的理想平衡。
活动 HTTP 连接的优势
对于直接连接到存储节点的连接、应将活动HTTP连接的持续时间限制为最长10分钟、即使HTTP连接持续执行事务也是如此。
‐连接应保持打开状态的最长持续时间是为了权衡连接持久性的优势与将连接分配给内部系统资源的理想方式。
对于客户端与存储节点的连接、限制活动HTTP连接具有以下优势:
-
在 StorageGRID 系统之间实现最佳负载平衡。
随着时间的推移,随着负载平衡要求的变化, HTTP 连接可能不再是最佳连接。当客户端应用程序为每个事务建立单独的 HTTP 连接时,系统会执行最佳的负载平衡,但这会抵消与持久连接相关的更有价值的收益。
-
允许客户端应用程序将 HTTP 事务定向到具有可用空间的 LDR 服务。
-
允许开始维护过程。
某些维护过程仅在所有正在进行的 HTTP 连接完成后才会启动。
对于客户端与负载平衡器服务的连接,限制打开连接的持续时间对于允许某些维护过程立即启动非常有用。如果客户端连接的持续时间不受限制、则可能需要几分钟的时间、活动连接才会自动终止。
并发 HTTP 连接的优势
您应保持与 StorageGRID 系统的多个 TCP/IP 连接处于开放状态,以实现并行处理,从而提高性能。并行连接的最佳数量取决于多种因素。
并发 HTTP 连接具有以下优势:
-
缩短延迟
事务可以立即启动,而不是等待其他事务完成。
-
提高吞吐量
StorageGRID 系统可以执行并行事务并提高聚合事务吞吐量。
客户端应用程序应建立多个 HTTP 连接。当客户端应用程序必须执行事务时,它可以选择并立即使用当前未处理事务的任何已建立连接。
在性能开始下降之前,每个 StorageGRID 系统的拓扑对于并发事务和连接具有不同的峰值吞吐量。峰值吞吐量取决于计算资源,网络资源,存储资源和 WAN 链路等因素。服务器和服务的数量以及 StorageGRID 系统支持的应用程序的数量也是因素。
StorageGRID 系统通常支持多个客户端应用程序。在确定客户端应用程序所使用的最大并发连接数时,应牢记这一点。如果客户端应用程序包含多个软件实体,每个软件实体都与 StorageGRID 系统建立连接,则应添加这些实体之间的所有连接。在以下情况下,您可能需要调整并发连接的最大数量:
-
StorageGRID 系统的拓扑会影响系统可以支持的并发事务和连接的最大数量。
-
如果客户端应用程序通过带宽有限的网络与 StorageGRID 系统进行交互,则可能需要降低并发程度,以确保各个事务在合理时间内完成。
-
当许多客户端应用程序共享 StorageGRID 系统时,您可能需要降低并发程度,以避免超过系统限制。
为读取和写入操作分隔 HTTP 连接池
您可以使用单独的 HTTP 连接池执行读写操作,并控制每个连接池要使用的池容量。通过单独的 HTTP 连接池,您可以更好地控制事务并平衡负载。
客户端应用程序可以创建检索占主导地位(读取)或存储占主导地位(写入)的负载。由于读取和写入事务使用单独的 HTTP 连接池,因此您可以调整每个池中用于读取或写入事务的数量。