

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Etapa 6: (opcional) práticas recomendadas para configurar o tamanho do pool de conexões para seu aplicativo
<a name="vpc-endpoints-tutorial.connections"></a>

Nesta seção, descrevemos como determinar o tamanho ideal do pool de conexões com base nos requisitos de throughput de consultas do seu aplicativo.

O Amazon Keyspaces permite um máximo de 3.000 consultas CQL por segundo por conexão TCP. Portanto, praticamente não há limite no número de conexões que um driver pode estabelecer com o Amazon Keyspaces. No entanto, recomendamos que você combine o tamanho do pool de conexões com os requisitos do seu aplicativo e considere os endpoints disponíveis ao usar o Amazon Keyspaces com conexões de endpoints da VPC.

Você configura o tamanho do pool de conexões no driver do cliente. Por exemplo, com base em um pool local de **2** e em um endpoint da VPC de interface criado em **3** zonas de disponibilidade, o driver estabelece **6** conexões para consulta (7 no total, o que inclui uma conexão de controle). Usando essas 6 conexões, você pode suportar no máximo 18.000 consultas CQL por segundo. 

Se seu aplicativo precisar oferecer suporte a 40.000 consultas CQL por segundo, trabalhe retroativamente a partir do número de consultas necessárias para determinar o tamanho do pool de conexões necessário. Para oferecer suporte a 40.000 consultas CQL por segundo, você precisa configurar o tamanho do pool local para pelo menos 5, o que dá suporte a um mínimo de 45.000 consultas CQL por segundo.

Você pode monitorar se excede a cota do número máximo de operações por segundo, por conexão, usando a `PerConnectionRequestRateExceeded` CloudWatch métrica no `AWS/Cassandra` namespace. A métrica `PerConnectionRequestRateExceeded` mostra o número de solicitações para o Amazon Keyspaces que excedem a cota da taxa de solicitações por conexão. 

Os exemplos de código nesta etapa mostram como estimar e configurar o pool de conexões quando você usa endpoints da VPC de interface. 

------
#### [ Java ]

O número de conexões por pool é configurável no driver Java. Para obter um exemplo completo de uma conexão de driver de cliente Java, consulte [Como usar um driver de cliente Java Cassandra para acessar o Amazon Keyspaces programaticamente](using_java_driver.md).

Quando o driver do cliente é iniciado, primeiro a conexão de controle é estabelecida para tarefas administrativas, como alterações de esquema e topologia. Em seguida, as conexões adicionais são criadas.

No exemplo a seguir, a configuração do driver do tamanho do pool local é especificada como 2. Se o endpoint da VPC for criado em 3 sub-redes dentro da VPC, isso resultará em `NewConnections` 7 entradas para o endpoint da interface, CloudWatch conforme mostrado na fórmula a seguir. 

```
NewConnections = 3 (VPC subnet endpoints created across) * 2 (pool size) + 1 ( control connection)
```

```
datastax-java-driver {

    basic.contact-points = [ "cassandra.us-east-1.amazonaws.com:9142"]
    advanced.auth-provider{
        class = PlainTextAuthProvider
           username = "ServiceUserName"
           password = "ServicePassword"
    }
    basic.load-balancing-policy {
        local-datacenter = "us-east-1"
        slow-replica-avoidance = false           
    }

    advanced.ssl-engine-factory {
        class = DefaultSslEngineFactory
        truststore-path = "./src/main/resources/cassandra_truststore.jks"
        truststore-password = "my_password"
        hostname-validation = false
      }
    advanced.connection {
        pool.local.size = 2
          }
}
```

Se o número de conexões ativas não corresponder ao tamanho do pool configurado (agregação entre sub-redes) \$1 1 conexão de controle, algo está impedindo que as conexões sejam criadas.

------
#### [ Node.js ]

Você pode configurar o número de conexões por pool no driver Node.js. Para obter um exemplo completo de uma conexão de driver de cliente Node.js, consulte [Como usar um driver de cliente Cassandra Node.js para acessar o Amazon Keyspaces programaticamente](using_nodejs_driver.md).

O exemplo de código abaixo usa o *keyspaces-bundle.pem* arquivo do certificado digital. Consulte [Antes de começar](using_nodejs_driver.md#using_nodejs_driver.BeforeYouBegin) para obter mais informações.

No exemplo de código a seguir, a configuração do driver do tamanho do pool local é especificada como 1. Se o endpoint da VPC for criado em 4 sub-redes dentro da VPC, isso resultará em `NewConnections` 5 entradas para o endpoint da interface, CloudWatch conforme mostrado na fórmula a seguir.

```
NewConnections = 4 (VPC subnet endpoints created across) * 1 (pool size) + 1 ( control connection)
```

```
const cassandra = require('cassandra-driver');
const fs = require('fs');
const types = cassandra.types;
const auth = new cassandra.auth.PlainTextAuthProvider('ServiceUserName', 'ServicePassword');
const sslOptions1 = {
         ca: [
                    fs.readFileSync('/home/ec2-user/keyspaces-bundle.pem', 'utf-8')],
                    host: 'cassandra.us-east-1.amazonaws.com',
                    rejectUnauthorized: true
        };
const client = new cassandra.Client({
                   contactPoints: ['cassandra.us-east-1.amazonaws.com'],
                   localDataCenter: 'us-east-1',
                   pooling: { coreConnectionsPerHost: { [types.distance.local]: 1 } },
                   consistency: types.consistencies.localQuorum,
                   queryOptions: { isIdempotent: true },
                   authProvider: auth,
                   sslOptions: sslOptions1,
                   protocolOptions: { port: 9142 }
        });
```

------