Avantages des connexions HTTP actives, inactives et simultanées
La configuration des connexions HTTP peut avoir un impact sur les performances du système StorageGRID. Les configurations varient selon que la connexion HTTP est active ou inactive ou si vous avez simultanément plusieurs connexions.
Vous pouvez identifier les avantages en termes de performances pour les types de connexions HTTP suivants :
-
Connexions HTTP inactives
-
Connexions HTTP actives
-
Connexions HTTP simultanées
Avantages de maintenir les connexions HTTP inactives ouvertes
Gardez les connexions HTTP ouvertes lorsque les applications clientes sont inactives pour permettre des transactions ultérieures. Gardez une connexion HTTP inactive ouverte pendant 10 minutes maximum. StorageGRID peut fermer automatiquement une connexion HTTP ouverte et inactive pendant plus de 10 minutes.
Les connexions HTTP ouvertes et inactives offrent les avantages suivants :
-
Réduction de la latence 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 effectuer la transaction
La réduction de la latence constitue l'avantage principal, notamment pour la durée nécessaire à l'établissement des connexions TCP/IP et TLS.
-
Augmentation de la vitesse de transfert des données en amorçant l'algorithme TCP/IP à démarrage lent avec des transferts effectués précédemment
-
Notification instantanée de plusieurs classes de conditions de défaillance qui interrompent la connectivité entre l'application cliente et le système StorageGRID
Décidez combien de temps maintenir une connexion inactive ouverte en équilibrant les avantages du 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.
La détermination de la durée maximale pendant laquelle une connexion doit être maintenue ouverte est un compromis entre les avantages de la persistance de connexion et l'allocation idéale de la connexion aux ressources système internes.
Pour les connexions client aux nœuds de stockage, la limitation des connexions HTTP actives offre les avantages suivants :
-
Équilibrage optimal de la charge sur l'ensemble du système StorageGRID.
Au fil du temps, une connexion HTTP peut ne plus être optimale à mesure que les exigences d’équilibrage de charge changent. Le système réalise 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 des transactions HTTP vers des services LDR qui ont de l'espace disponible.
-
Permet de démarrer 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 Load Balancer, limiter la durée des connexions ouvertes peut être utile pour permettre le démarrage rapide de certaines procédures de maintenance. Si la durée des connexions client n'est pas limitée, l'arrêt automatique des connexions actives peut prendre plusieurs minutes.
Avantages des connexions HTTP simultanées
Vous devez maintenir plusieurs connexions TCP/IP ouvertes au système StorageGRID pour permettre le parallélisme, ce qui augmente les performances. Le nombre optimal de connexions parallèles dépend de divers facteurs.
Les connexions HTTP simultanées offrent les avantages suivants :
-
Latence réduite
Les transactions peuvent commencer immédiatement au lieu d'attendre que d'autres transactions soient effectuées.
-
Rendement accru
Le système StorageGRID peut effectuer des transactions parallèles et augmenter le débit des transactions globales.
Les applications client doivent établir plusieurs connexions HTTP. Lorsqu'une application client doit effectuer une transaction, elle peut sélectionner et utiliser immédiatement toute connexion établie qui ne traite pas actuellement une transaction.
La topologie de chaque système StorageGRID présente un débit maximal différent pour les transactions et les connexions simultanées. Le débit maximal dépend des ressources de calcul, du réseau, de stockage, des liaisons WAN et du nombre de serveurs, de services et d'applications pris en charge par le système StorageGRID .
Les systèmes StorageGRID prennent souvent en charge plusieurs applications client. Gardez cela à l’esprit lorsque vous déterminez le nombre maximal de connexions simultanées. Si l'application cliente se compose de plusieurs entités logicielles qui établissent chacune des connexions au système StorageGRID , additionnez toutes les connexions entre les entités. Vous devrez peut-être ajuster le nombre maximal de connexions simultanées dans les situations suivantes :
-
La topologie du système StorageGRID affecte le nombre maximal de transactions et de connexions simultanées pris en charge par le système.
-
Les applications client qui interagissent avec le système StorageGRID sur un réseau avec une bande passante limitée peuvent être contraintes de réduire le niveau de simultanéité pour s'assurer que les transactions individuelles sont effectuées dans un délai raisonnable.
-
Lorsque de nombreuses applications client partagent le système StorageGRID, il peut être nécessaire de réduire le degré de simultanéité pour ne pas 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 séparés de connexions HTTP pour les opérations en lecture et écriture, et contrôler la proportion que vous souhaitez utiliser pour chacun d'eux. Le recours à des pools séparés de connexions HTTP vous permet de contrôler les transactions et d'équilibrer la charge plus efficacement.
Les applications client peuvent créer des chargements qui sont dominants par la récupération (lecture) ou dominants par le stockage (écriture). Grâce à des pools séparés de connexions HTTP pour les transactions en lecture et écriture, vous pouvez ajuster la quantité de chaque pool à dédier pour les transactions en lecture ou en écriture.