Ajustando Serviços do Canal de Transporte
Os serviços do canal de transporte gerenciam conexões do cliente e processamento de E/S para pedidos HTTP e JMS. Esses serviços de E/S são baseados nos recursos NIO (non-blocking I/O) que estão disponíveis em Java™. Esses serviços fornecem uma base altamente escalável para processamento de solicitação do WebSphere Application Server. A arquitetura baseada em NIO Java tem limitações em termos de desempenho, escalabilidade e usabilidade de usuário. Portanto, a integração de E/S assíncronas verdadeiras é implementada. Esta implementação fornece benefícios significativos em usabilidade, reduz a complexidade de processamento de E/S e reduz essa quantidade de ajuste de desempenho que deve ser executado.
Sobre Esta Tarefa
- Escalabilidade, que permite que o produto trate de várias solicitações simultâneas
- Processamento de solicitação assíncrona, que fornece um mapeamento muitos para um de solicitações do cliente para encadeamentos do contêiner da Web
- Compartilhamento de recurso e segregação, que permite que conjuntos de encadeamentos sejam compartilhados entre o contêiner da Web e um serviço de sistema de mensagens
- Usabilidade melhorada
- Incorporação de ajuste autonômico e funções de configuração
A alteração dos valores padrão para configurações em um ou mais dos canais de transporte associados a uma cadeia de transporte pode aprimorar o desempenho dessa cadeia.

Procedimento
- Ajuste as definições do canal de transporte TCP. No console administrativo, clique em Servidores
> Tipos de Servidor > Servidores de Aplicativos do WebSphere > server_name >
Portas. Em seguida, clique em Visualizar transportes associados para a porta apropriada.
- Selecione a cadeia de transporte cujas propriedades você está alterando.
- Clique no canal de transporte TCP definido para essa cadeia.
- Diminua o valor especificado para a Propriedade de conexões abertas máximas. Este parâmetro controla o número máximo de conexões disponíveis para serem utilizadas por um servidor. Deixar esse parâmetro com o valor padrão de 20000, que é o número máximo de conexões, pode levar à paralisação de Web sites sob condições de falha, pois o produto continua aceitando conexões, aumentando assim a lista não processada de conexões e trabalhos associados. O padrão deve ser alterado para um número significativamente mais baixo, como 500, e em seguida, ajustes e testes adicionais devem ser feitos para determinar o valor ideal a ser especificado para um Web site ou implementação do aplicativo específico.
- Se as conexões do cliente estiverem sendo fechadas sem que os dados sejam
gravados novamente no cliente, altere o valor especificado para o parâmetro
Tempo Limite de Inatividade. Esse parâmetro controla o número máximo de conexões disponíveis para uso do servidor. Após o recebimento de uma nova conexão, o canal de transporte TCP aguarda a chegada de dados suficientes para despachar a conexão para os canais específicos do protocolo acima do canal de
transporte TCP. Se não forem recebidos dados suficientes durante o período de tempo especificado para o parâmetro Tempo limite de inatividade, o canal de transporte TCP fechará a conexão.
O valor padrão para esse parâmetro é 60 segundos. Esse valor é adequado para a maioria dos aplicativos. Aumente o valor especificado para esse parâmetro se a carga de trabalho envolver várias conexões e nenhuma dessas conexões puder ser atendida em 60 segundos.
Designe um conjunto de encadeamentos a uma porta HTTP específica. Cada canal de transporte TCP é designado a um conjunto de encadeamentos específico. Os conjuntos de encadeamentos podem ser compartilhados entre um ou mais canais de transporte TCP, e também com outros componentes. A configuração padrão para um canal de transporte TCP é ter todo o tráfego baseado em HTTP designado ao conjunto de encadeamentos WebContainer e todo o tráfego restante designado ao conjunto de encadeamentos Default. Use a lista de menu Conjunto de Encadeamentos para designar um determinado conjunto de encadeamentos a cada canal de transporte TCP. A configuração padrão para esse parâmetro tem todo o tráfego baseado em HTTP designado ao conjunto de encadeamentos WebContainer e todo o tráfego restante designado ao conjunto de encadeamentos Default. As informações sobre a coleção de conjuntos de encadeamentos descrevem como criar conjuntos de encadeamentos adicionais.
Ajuste o tamanho de seus conjuntos de encadeamentos. Por padrão, o um conjunto de encadeamentos pode ter no mínimo 10 encadeamentos e no máximo 50. Para ajustar esses valores, clique em Conjuntos de Encadeamentos >threadpool_name e ajuste os valores especificados para os parâmetros de Tamanho Mínimo e Tamanho Máximo para esse conjunto de encadeamentos.
Geralmente, os aplicativos típicos não precisam de mais de 10 encadeamentos por processador. Uma exceção é que existe alguma condição de servidor desativado, como um pedido de backend muito lento, que faz um encadeamento do servidor aguardar a conclusão do pedido de backend. Nesse caso, o uso do processador é baixo, e o aumento da carga de trabalho não aumenta o rendimento do processador. Dumps de memória do encadeamento mostram quase todos os encadeamentos em um texto explicativo para o recurso backend. Se essa condição existir, e o backend estiver sintonizado corretamente, tente aumentar o número mínimo de encadeamentos no conjunto até ver melhorias no rendimento e os dumps de memória do encadeamento mostrarem encadeamentos em outras áreas do tempo de execução além da chamada de backend.
A configuração para o parâmetro Aumentar conforme Necessário é alterada, a menos que seu backend esteja propenso à interrupção por longos períodos de tempo. Esta condição pode indicar que todos os seus encadeamentos de tempo de execução ficarão bloqueados aguardando o backend em vez de processar outro trabalho que não envolva o backend interrompido.
- Ajuste as definições do canal de transporte HTTP. No console administrativo, clique em Servidores
> Tipos de Servidor > Servidores de Aplicativos do WebSphere > server_name >
Portas. Em seguida, clique em Visualizar transportes associados para a porta apropriada.
- Selecione a cadeia de transporte cujas propriedades você está alterando.
- Clique no canal de transporte HTTP definido para essa cadeia.
- Ajustar manter ativada de HTTP.
A configuração Usar Conexões Persistentes (keep-alive) controla se as conexões são deixadas abertas entre as solicitações. Deixar as conexões abertas pode reduzir custos de configuração e de eliminação de soquetes, se sua carga de trabalho tiver clientes que enviam vários pedidos. O valor padrão é true, que normalmente é a configuração ideal.
Se seus clientes enviarem apenas pedidos simples por períodos de tempo significativamente longos, provavelmente será melhor desativar esta opção e fechar as conexões imediatamente, em vez de deixar o canal de transporte HTTP configurar os tempos limites para fechar a conexão posteriormente.
- Altere o valor especificado para o parâmetro Número Máximo de Pedidos
Persistentes, para aumentar o número de pedidos que podem fluir por uma conexão
antes de seu fechamento.
Quando a opção Usar Conexões Persistentes está ativada, o parâmetro Máximo de Solicitações Persistentes controla o número de solicitações que podem fluir por uma conexão antes de ela ser fechada. O valor padrão é 100. Este valor deve ser definido como um valor de forma que a maioria, senão todos os clientes, sempre tenham uma conexão aberta quando fizerem vários pedidos durante a mesma sessão. Uma definição apropriada para este parâmetro ajuda a eliminar a configuração e remoção desnecessárias de soquetes.
Para cenários de teste nos quais o cliente nunca é encerrado, um valor igual a -1 desativa o processamento que limita o número de solicitações durante uma conexão única. O tempo limite persistente encerra alguns soquetes inativos e impede que seu servidor fique sem soquetes abertos.
- Altere o valor especificado para o parâmetro Tempo Limite Persistente para aumentar a duração de tempo que uma conexão é mantida aberta antes de seu fechamento devido a inatividade. O parâmetro Tempo limite persistente controla o período de tempo que uma conexão é mantida aberta antes de ser fechada por falta de atividade nela. O valor padrão é 30 segundos. Esse parâmetro é configurado para um valor que mantém conexões suficientes abertas para que a maioria dos clientes possa obter uma conexão disponível quando precisarem fazer uma solicitação.
- Se os clientes estiverem com problemas para concluir uma solicitação porque estão levando mais de 60 segundos para enviarem seus dados, altere o valor especificado para o parâmetro Tempo Limite de Leitura. Alguns clientes pausam por mais de 60 segundos durante o envio de dados como parte de uma solicitação. Para garantir que eles estejam aptos para concluir suas solicitações, altere o valor especificado para esse parâmetro para uma quantidade de tempo em segundos suficiente para os clientes concluírem a transferência de dados. Tome cuidado ao alterar esse valor que ainda protege o servidor contra clientes que enviam dados incompletos e, consequentemente, usam recursos (soquetes) por uma quantia excessiva de tempo.
- Se alguns de seus clientes exigirem mais de 60 segundos para receber dados sendo gravados neles, altere o valor especificado para o parâmetro Tempo Limite de Gravação. Alguns clientes são lentos e requerem mais de 60 segundos para receberem os dados que são enviados a eles. Para garantir que eles estejam aptos para obter todos os seus dados, altere o valor especificado para esse parâmetro para uma quantidade de tempo em segundos que seja suficiente para todos os dados a serem recebidos. Tenha atenção ao alterar este valor, porque você ainda protege o servidor contra clientes maliciosos.
- Ajuste as configurações do canal de transporte do contêiner da Web. No console administrativo, clique em Servidores
> Tipos de Servidor > Servidores de Aplicativos do WebSphere > server_name >
Portas. Em seguida, clique em Visualizar transportes associados para a porta apropriada.
- Selecione a cadeia de transporte cujas propriedades devem ser alteradas.
- Clique no canal de transporte de contêiner da Web definido para essa cadeia.
- Se forem requeridas várias gravações para manipular respostas ao
cliente, altere o valor especificado para o parâmetro Tamanho do Buffer de Gravação para
um valor que seja mais apropriado aos clientes. O parâmetro Tamanho do Buffer de Gravação controla a quantia máxima de dados por encadeamento que o contêiner da Web armazena em buffer antes de enviar a solicitação para processamento. O valor padrão é 32768 bytes, que são suficientes para a maioria dos aplicativos. Se o tamanho de uma
resposta for maior do que o tamanho de buffer de gravação, a resposta será fragmentada
e gravada novamente em várias gravações de TCP.
Se você tiver que alterar o valor especificado para esse parâmetro, certifique-se de que o novo valor permita que a maioria das solicitações seja gravada em uma única gravação. Para determinar um valor apropriado para esse parâmetro, examine o tamanho das páginas que são retornadas e inclua alguns bytes adicionais para serem considerados para cabeçalhos HTTP.
- Ajuste as configurações do buffer limitado.
Mesmo que os parâmetros de buffer limitados padrão sejam ideais para a maioria dos ambientes, você pode querer alterar o valor padrão em certas situações e para alguns sistemas operacionais melhorarem o desempenho. Alterar os parâmetros de buffer limitados pode degradar o desempenho. Portanto, certifique-se de ajustar as outras áreas relacionadas, como o contêiner da Web e os conjuntos de encadeamentos ORB, antes de decidir alterar os parâmetros de buffer limitados.
Para alterar os parâmetros de buffer limitados:
- No console administrativo, clique em Servidores>Tipos de Servidor>WebSphere Application Servers> server_name.
- Na seção Infraestrutura do Servidor, clique em Gerenciamento Java e de Processo > Definição de Processo > Java Virtual Machine.
- Clique em Propriedades Customizadas.
- Insira uma das seguintes propriedades customizadas no campo Nome e um valor apropriado no campo Valor; em seguida, clique em Aplicar para salvar a propriedade customizada e sua configuração.
- com.ibm.ws.util.BoundedBuffer.spins_take=value
Especifica o número de vezes que um encadeamento de contêiner da Web tenta recuperar uma solicitação do buffer antes de o encadeamento ser suspenso e enfileirado. Esse parâmetro permite permutar o custo de executar tentativas de recuperação possivelmente mal sucedidas com o custo de suspender um encadeamento e ativá-lo novamente, em resposta a uma operação de entrada.
Informações Valor Padrão: O número de processadores disponíveis para o sistema operacional menos 1. Recomendado: Use qualquer valor de número inteiro não negativo. Na prática, usar um número inteiro de 2 a 8 produz os melhores resultados de desempenho. Uso: com.ibm.ws.util.BoundedBuffer.spins_take=6. Seis tentativas são feitas antes do encadeamento ser suspenso. - com.ibm.ws.util.BoundedBuffer.yield_take=true or false
Especifica que um encadeamento concede o processador para outros encadeamentos após um número determinado de tentativas de tomar uma solicitação a partir do buffer. Tipicamente, um número inferior de tentativas é preferível.
Informações Valor Padrão: false Recomendado: O efeito do rendimento é específico à implementação de plataformas individuais. Uso: com.ibm.ws.util.BoundedBuffer.spins_take=boolean value - com.ibm.ws.util.BoundedBuffer.spins_put=value
Especifica o número de tentativas que um encadeamento InboundReader faz para colocar um pedido no buffer antes do encadeamento ser suspenso e enfileirado. Use este valor para trocar entre o custo de tentativas repetidas e possivelmente malsucedidas de colocar uma solicitação no buffer e o custo ao suspender um encadeamento e reativá-lo em resposta a uma operação de utilização.
Informações Valor Padrão: O valor de com.ibm.ws.util.BoundedBuffer.spins_take dividido por quatro. Recomendado: Use qualquer valor de número inteiro não negativo. Na prática, um número inteiro de 2 a 8 mostrou os melhores resultados de desempenho. Uso: com.ibm.ws.util.BoundedBuffer.spins_put=6. Seis tentativas são feitas antes do encadeamento ser suspenso. - com.ibm.ws.util.BoundedBuffer.yield_put=true or false
Especifica que um encadeamento concede o processador para outros encadeamentos após um número determinado de tentativas de colocar uma solicitação no buffer. Tipicamente, um número inferior de tentativas é preferível.
Informações Valor Padrão: false Recomendado: O efeito do rendimento é específico à implementação de plataformas individuais. Uso: com.ibm.ws.util.BoundedBuffer.yield_put=boolean value - com.ibm.ws.util.BoundedBuffer.wait=number of milliseconds
Especifica a duração máxima de tempo, em milissegundos, que um pedido pode ser retardado desnecessariamente, se o buffer estiver completamente cheio ou se o buffer estiver vazio.
Informações Valor Padrão: 10000 milissegundos Recomendado: Um valor de 10000 milissegundos geralmente funciona bem. Em ocasiões raras quando o buffer se torna cheio ou vazio, um valor menor garante uma manipulação mais oportuna de pedidos, mas geralmente há um impacto de desempenho em utilizar um valor menor. Uso: com.ibm.ws.util.BoundedBuffer.wait=8000. Um pedido pode ser retardado desnecessariamente até 8000 milissegundos.
- com.ibm.ws.util.BoundedBuffer.spins_take=value
- Clique em Aplicar e em Salvar para salvar essas alterações.


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tprf_tunechain
Nome do arquivo: tprf_tunechain.html