Utilize essa página para configurar definições do conjunto de conexões.
Essa página do console administrativo é comum para vários tipos de recursos; por exemplo, origens de dados JDBC e fábricas de conexão de filas JMS. Para visualizar essa página, o caminho depende do tipo de recurso, mas geralmente você seleciona uma instância do provedor de recursos e depois uma instância do tipo de recurso e clica em Conjunto de Conexões. Por exemplo, clique em Recursos > Provedores JDBC > provedor_JDBC > Origens de Dados > origem_de_dados > Conjunto de Conexões.
Guia Configuração
A espera é necessária quando o valor máximo de conexões (Número Máximo de Conexões) a um determinado conjunto de conexões for atingido. Por exemplo, se Tempo Limite de Conexão estiver definido como 300 e o número máximo de conexões for alcançado, o Gerenciador de Conjunto aguardará 300 segundos por uma conexão física disponível. Se uma conexão física não estiver disponível neste período, o Gerenciador de Conjunto emitirá uma ConnectionWaitTimeoutException. Geralmente, não faz sentido tentar novamente o método getConnection(), porque se um tempo de espera mais longo for necessário, você deverá definir um Tempo Limite de Conexão para um valor mais alto. Portanto, se esta exceção for detectada pelo aplicativo, o administrador deve rever a utilização esperada do aplicativo e ajustar o conjunto de conexões e o banco de dados de acordo.
Se o Tempo Limite de Conexão for definido como 0, o Gerenciador de Conjunto aguardará até que uma conexão seja alocada (isso acontece quando o número de conexões fica abaixo do valor do Número Máximo de Conexões).
Se o Número Máximo de Conexões for definido para 0, o que permite um número infinito de conexões físicas, então o valor Tempo Limite de Conexão será ignorado.
| Tipo de Dados | Inteiro |
| Unidades | Segundos |
| Padrão | 180 |
| Intervalo | 0 a max int |
Estas são as conexões físicas para o recurso backend. Quando esse número for atingido, nenhuma nova conexão física será criada e o solicitante aguardará até uma conexão física atualmente em utilização retornar ao conjunto ou até uma ConnectionWaitTimeoutException ser emitida.
Por exemplo, se o valor Número Máximo de Conexões estiver definido para 5 e houver cinco conexões físicas em utilização, o gerenciador do conjunto aguardará o período de tempo especificado em Tempo Limite de Conexão para que uma conexão física seja liberada.
Se Número Máximo de Conexões estiver definido para 0, o valor de Tempo Limite de Conexão será ignorado.
Para um melhor desempenho, defina o valor do conjunto de conexões inferior ao valor da opção Número Máximo de Conexões no contêiner da Web. Definições mais baixas, como 10-30 conexões, têm melhor desempenho do que definições mais altas, como 100.
Se clones forem utilizados, um conjunto de dados existirá para cada clone. Saber o número de conjuntos de dados é importante ao configurar o número máximo de conexões de bancos de dados.
O Tivoli Performance Viewer pode ser utilizado para encontrar o melhor número de conexões em um conjunto. Se o número de solicitantes em espera simultaneamente for maior que 0, mas a carga da CPU não estiver próxima a 100%, considere o aumento do tamanho do conjunto de conexões. Se o valor Percentual de Utilização for consistentemente baixo durante a carga de trabalho normal, considere a redução do número de conexões no conjunto.
| Tipo de Dados | Inteiro |
| Padrão | 10 |
| Intervalo | 0 a max int |
Até o número ser atingido, o encadeamento da manutenção do conjunto não descarta as conexões físicas. No entanto, não será feita nenhuma tentativa para que o número de conexões chegue até esse número. Se você definir um valor para Tempo Limite Transcorrido, o mínimo não será mantido. Todas as conexões com um tempo transcorrido expirado serão descartadas.
Por exemplo, se o valor do Número Mínimo de Conexões for definido para 3 e uma conexão física for criada, o encadeamento de Tempo Limite Não Utilizado não descarta a conexão. Pelo mesmo token, o thread não cria automaticamente duas conexões físicas adicionais para atingir a definição do Número Mínimo de Conexões.
| Tipo de Dados | Inteiro |
| Padrão | 1 |
| Intervalo | 0 a max int |
Por exemplo, se o Tempo de Coleta estiver definido como 60, o thread de manutenção do conjunto será executado a cada 60 segundos. O intervalo Tempo de Coleta afeta a precisão das definições Tempo Limite Não Utilizado e Tempo Limite Transcorrido. Quanto menor o intervalo, maior a exatidão. Se o thread de manutenção do conjunto estiver ativado, defina o valor Tempo de Coleta como menor do que os valores de Tempo Limite Não Utilizado e Tempo Limite Transcorrido. Quando o encadeamento de manutenção do conjunto for executado, ele descartará todas as conexões que permanecem sem utilização por um tempo maior do que o valor de tempo especificado em Tempo Limite Não Utilizado, até atingir o número de conexões especificado em Número Mínimo de Conexões. O thread de manutenção do conjunto também descarta todas as conexões que ficaram ativas além do valor de tempo especificado em Tempo Limite Transcorrido.
O intervalo Tempo de Coleta também afeta o desempenho. Intervalos mais curtos significam que o thread de manutenção do conjunto é executado com mais freqüência e diminui o desempenho.
Para desativar o thread de manutenção do conjunto, defina Tempo de Coleta como 0 ou defina Tempo Limite Não Utilizado ou Tempo Limite Transcorrido como 0. A forma recomendada para desativar o thread de manutenção do conjunto é definir Tempo de Coleta como 0, nesse caso, Tempo Limite Não Utilizado e Tempo Limite Transcorrido serão ignorados. No entanto, se Tempo Limite Não Utilizado e Tempo Limite Transcorrido estiverem definidos como 0, o thread de manutenção do conjunto será executado, mas somente as conexões físicas que excederem o tempo limite devido a valores de tempo limite diferentes de 0 serão descartadas.
| Tipo de Dados | Inteiro |
| Unidades | Segundos |
| Padrão | 180 |
| Intervalo | 0 a max int |
Defina o valor Tempo Limite Não Utilizado como um valor maior que o valor Tempo Limite de Coleta para obter melhor desempenho. As conexões físicas não utilizadas somente serão descartadas se o número de conexões atuais que não estiverem sendo utilizadas exceder a definição do Número Mínimo de Conexões. Por exemplo, se o valor de tempo limite não utilizado for definido como 120 e o thread de manutenção do conjunto for ativado (Tempo de Coleta não for 0), as conexões físicas que permanecerem sem utilização por dois minutos serão descartadas. Observe que a precisão deste tempo limite, bem como o desempenho, é afetada pelo valor Tempo de Coleta. Consulte Tempo de Coleta para obter mais informações.
| Tipo de Dados | Inteiro |
| Unidades | Segundos |
| Padrão | 1800 |
| Intervalo | 0 a max int |
Definir Tempo Limite Transcorrido para 0 suportará que conexões físicas ativas permaneçam no conjunto indefinidamente. Defina o valor Tempo Limite Transcorrido como um valor maior que o valor Tempo Limite de Coleta para obter melhor desempenho. Por exemplo, se o valor de Tempo Limite Transcorrido for definido para 1200 e o valor de Tempo de Coleta não for igual a 0, todas as conexões físicas que permanecerem existentes por 1200 segundos (20 minutos) serão descartadas do conjunto. Observe que a precisão desse tempo limite, assim como o desempenho, são afetados pelo valor de Tempo de Coleta. Consulte Tempo de Coleta para obter mais informações.
| Tipo de Dados | Inteiro |
| Unidades | Segundos |
| Padrão | 0 |
| Intervalo | 0 a max int |
Valores válidos são EntirePool e FailingConnectionOnly. Origens de dados JCA podem ter qualquer uma dessas opções. Origens de dados do WebSphere Versão 4.0 sempre têm um critério de limpeza de EntirePool.
| Tipo de Dados | String |
| Padrão | EntirePool |
| Intervalo |
|