Benefícios de conexões HTTP ativas, ociosas e simultâneas
Como configurar conexões HTTP pode afetar o desempenho do sistema StorageGRID. As configurações diferem dependendo se a conexão HTTP está ativa ou inativa ou se você tem várias conexões simultâneas.
Você pode identificar os benefícios de desempenho para os seguintes tipos de conexões HTTP:
-
Conexões HTTP ociosas
-
Conexões HTTP ativas
-
Conexões HTTP simultâneas
Benefícios de manter conexões HTTP ociosas abertas
Mantenha as conexões HTTP abertas quando os aplicativos clientes estiverem ociosos para permitir transações posteriores. Mantenha uma conexão HTTP inativa aberta por no máximo 10 minutos. O StorageGRID pode fechar automaticamente uma conexão HTTP que esteja aberta e ociosa por mais de 10 minutos.
Conexões HTTP abertas e ociosas fornecem os seguintes benefícios:
-
Latência reduzida desde o tempo em que o sistema StorageGRID determina que ele tem que executar uma transação HTTP para o tempo em que o sistema StorageGRID pode executar a transação
A latência reduzida é a principal vantagem, especialmente pelo tempo necessário para estabelecer conexões TCP/IP e TLS.
-
Aumento da taxa de transferência de dados por priming do algoritmo de início lento TCP/IP com transferências realizadas anteriormente
-
Notificação instantânea de várias classes de condições de falha que interrompem a conetividade entre o aplicativo cliente e o sistema StorageGRID
Decida por quanto tempo manter uma conexão ociosa aberta, equilibrando os benefícios do início lento e a alocação de recursos.
Benefícios de conexões HTTP ativas
Para conexões diretamente aos nós de armazenamento, você deve limitar a duração de uma conexão HTTP ativa a um máximo de 10 minutos, mesmo que a conexão HTTP realize transações continuamente.
Determinar a duração máxima em que uma conexão deve ser mantida aberta é um trade-off entre os benefícios da persistência da conexão e a alocação ideal da conexão aos recursos internos do sistema.
Para conexões de cliente a nós de storage, limitar conexões HTTP ativas fornece os seguintes benefícios:
-
Permite o balanceamento de carga ideal em todo o sistema StorageGRID.
Com o tempo, uma conexão HTTP pode não ser mais ideal, pois os requisitos de balanceamento de carga mudam. O sistema executa seu melhor balanceamento de carga quando os aplicativos clientes estabelecem uma conexão HTTP separada para cada transação, mas esse método anula os ganhos valiosos associados às conexões persistentes.
-
Permite que aplicativos cliente direcionem transações HTTP para serviços LDR que têm espaço disponível.
-
Permite iniciar os procedimentos de manutenção.
Alguns procedimentos de manutenção começam somente depois que todas as conexões HTTP em andamento estiverem concluídas.
Para conexões de clientes ao serviço Load Balancer, limitar a duração das conexões abertas pode ser útil para permitir que alguns procedimentos de manutenção sejam iniciados prontamente. Se a duração das conexões do cliente não for limitada, pode levar vários minutos para que as conexões ativas sejam automaticamente encerradas.
Benefícios de conexões HTTP simultâneas
Você deve manter várias conexões TCP/IP ao sistema StorageGRID abertas para permitir paralelismo, o que aumenta o desempenho. O número ideal de conexões paralelas depende de uma variedade de fatores.
As conexões HTTP simultâneas oferecem os seguintes benefícios:
-
Latência reduzida
As transações podem começar imediatamente em vez de esperar que outras transações sejam concluídas.
-
Maior taxa de transferência
O sistema StorageGRID pode executar transações paralelas e aumentar a taxa de transferência de transações agregadas.
Os aplicativos clientes devem estabelecer várias conexões HTTP. Quando um aplicativo cliente tem que executar uma transação, ele pode selecionar e usar imediatamente qualquer conexão estabelecida que não esteja processando uma transação no momento.
A topologia de cada sistema StorageGRID tem diferentes picos de transferência para transações e conexões simultâneas. O pico de rendimento depende da computação, da rede, dos recursos de armazenamento, dos links WAN e do número de servidores, serviços e aplicativos suportados pelo sistema StorageGRID .
Os sistemas StorageGRID geralmente oferecem suporte a vários aplicativos clientes. Tenha isso em mente ao determinar o número máximo de conexões simultâneas. Se o aplicativo cliente consistir em várias entidades de software, cada uma estabelecendo conexões com o sistema StorageGRID , some todas as conexões entre as entidades. Pode ser necessário ajustar o número máximo de conexões simultâneas nas seguintes situações:
-
A topologia do sistema StorageGRID afeta o número máximo de transações simultâneas e conexões que o sistema pode suportar.
-
Os aplicativos clientes que interagem com o sistema StorageGRID em uma rede com largura de banda limitada podem ter que reduzir o grau de simultaneidade para garantir que as transações individuais sejam concluídas em um tempo razoável.
-
Quando muitos aplicativos clientes compartilham o sistema StorageGRID, você pode ter que reduzir o grau de simultaneidade para evitar exceder os limites do sistema.
Separação de pools de conexão HTTP para operações de leitura e gravação
Você pode usar pools separados de conexões HTTP para operações de leitura e gravação e controlar quanto de um pool usar para cada um. Pools separados de conexões HTTP permitem que você controle melhor as transações e equilibre as cargas.
Os aplicativos clientes podem criar cargas que são retrieve-dominant (read) ou store-dominant (write). Com pools separados de conexões HTTP para transações de leitura e gravação, você pode ajustar quanto de cada pool a dedicar para transações de leitura ou gravação.