活动、空闲和并发 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 连接池,您可以调整每个池中用于读取或写入事务的连接数量。