Avantages des connexions HTTP actives, inactives et simultanées dans StorageGRID
La façon dont vous configurez les connexions HTTP peut avoir un impact sur les performances du système StorageGRID. Les configurations diffèrent selon que la connexion HTTP est active, inactive ou si vous avez plusieurs connexions simultanées.
Vous pouvez identifier les gains de performance pour les types de connexions HTTP suivants :
-
Connexions HTTP inactives
-
Connexions HTTP actives
-
Connexions HTTP simultanées
Avantages du maintien des connexions HTTP inactives ouvertes
Maintenez les connexions HTTP ouvertes lorsque les applications clientes sont inactives afin de permettre des transactions ultérieures. Maintenez une connexion HTTP inactive ouverte pendant un maximum de 10 minutes. StorageGRID peut fermer automatiquement une connexion HTTP qui reste ouverte et inactive pendant plus de 10 minutes.
Les connexions HTTP ouvertes et inactives offrent les avantages suivants :
-
Latence réduite entre le moment où le système StorageGRID détermine qu'il doit effectuer une transaction HTTP et le moment où le système StorageGRID peut l'exécuter
La réduction de la latence est le principal avantage, notamment en ce qui concerne le temps nécessaire à l'établissement des connexions TCP/IP et TLS.
-
Augmentation du débit de transfert des données grâce à l'amorçage de l'algorithme de démarrage lent TCP/IP avec des transferts précédemment effectués
-
Notification instantanée de plusieurs types de pannes interrompant la connectivité entre l'application cliente et le système StorageGRID
Déterminez la durée de maintien d'une connexion inactive en équilibrant les avantages d'un démarrage lent et l'allocation des ressources.
Avantages des connexions HTTP actives
Pour les connexions directes aux nœuds de stockage, vous devez limiter la durée d'une connexion HTTP active à un maximum de 10 minutes, même si la connexion HTTP effectue des transactions en continu.
Déterminer la durée maximale pendant laquelle une connexion doit être maintenue ouverte implique un compromis entre les avantages de la persistance de la connexion et l'allocation idéale de la connexion aux ressources internes du système.
Pour les connexions client aux nœuds de stockage, la limitation des connexions HTTP actives offre les avantages suivants :
-
Permet un équilibrage de charge optimal sur l'ensemble du système StorageGRID.
Avec le temps, une connexion HTTP peut ne plus être optimale à mesure que les exigences en matière d'équilibrage de charge évoluent. Le système offre son meilleur équilibrage de charge lorsque les applications clientes établissent une connexion HTTP distincte pour chaque transaction, mais cette méthode annule les gains précieux associés aux connexions persistantes.
-
Permet aux applications clientes de diriger les transactions HTTP vers les services LDR disposant d'espace disponible.
-
Permet de lancer les procédures de maintenance.
Certaines procédures de maintenance ne démarrent qu'une fois toutes les connexions HTTP en cours terminées.
Pour les connexions client au service de Load Balancer, limiter la durée des connexions ouvertes peut être utile pour permettre à certaines procédures de maintenance de démarrer rapidement. Si la durée des connexions client n'est pas limitée, il peut s'écouler plusieurs minutes avant que les connexions actives ne soient automatiquement fermées.
Avantages des connexions HTTP simultanées
Il est conseillé de maintenir plusieurs connexions TCP/IP ouvertes vers le système StorageGRID afin de permettre le traitement parallèle, ce qui améliore les performances. Le nombre optimal de connexions parallèles dépend de plusieurs facteurs.
Les connexions HTTP simultanées offrent les avantages suivants :
-
Latence réduite
Les transactions peuvent démarrer immédiatement au lieu d’attendre que d’autres transactions soient terminées.
-
Débit accru
Le système StorageGRID peut effectuer des transactions parallèles et augmenter le débit de transactions agrégé.
Les applications clientes doivent établir plusieurs connexions HTTP. Lorsqu'une application cliente doit effectuer une transaction, elle peut sélectionner et utiliser immédiatement toute connexion établie qui n'est pas en train de traiter une transaction.
La topologie de chaque système StorageGRID présente un débit de pointe différent pour les transactions et connexions simultanées. Le débit de pointe dépend des ressources de calcul, de réseau, de stockage, des liaisons WAN, ainsi que du nombre de serveurs, de services et d'applications que le système StorageGRID prend en charge.
Les systèmes StorageGRID prennent souvent en charge plusieurs applications clientes. Tenez-en compte lorsque vous déterminez le nombre maximal de connexions simultanées. Si l'application cliente est composée de plusieurs entités logicielles qui établissent chacune des connexions au système StorageGRID, additionnez toutes les connexions de ces entités. Vous devrez peut-être ajuster le nombre maximal de connexions simultanées dans les situations suivantes :
-
La topologie du système StorageGRID influe sur le nombre maximal de transactions et de connexions simultanées que le système peut prendre en charge.
-
Les applications clientes qui interagissent avec le système StorageGRID sur un réseau à bande passante limitée peuvent devoir réduire leur niveau de concurrence afin de garantir que chaque transaction soit effectuée dans un délai raisonnable.
-
Lorsque de nombreuses applications clientes partagent le système StorageGRID, vous devrez peut-être réduire le degré de concurrence afin d'éviter de dépasser les limites du système.
Séparation des pools de connexions HTTP pour les opérations de lecture et d'écriture
Vous pouvez utiliser des pools distincts de connexions HTTP pour les opérations de lecture et d'écriture et contrôler la part de chaque pool à utiliser pour chacune. Des pools distincts de connexions HTTP vous permettent de mieux contrôler les transactions et d'équilibrer les charges.
Les applications clientes peuvent générer des charges à dominante récupération (lecture) ou à dominante stockage (écriture). Avec des pools distincts de connexions HTTP pour les transactions de lecture et d'écriture, vous pouvez ajuster la part de chaque pool à consacrer aux transactions de lecture ou d'écriture.