Os ODRs são servidores que agem como um intermediário para pedidos de HTTP que são atendidos por servidores de aplicativos ou servidores da Web. Existem muitos fatores que afetam o desempenho do ODR. Se você descobrir que os ODRs não estão funcionando do modo desejado, poderá precisar ajustar os ODRs.
Antes de Começar
Antes de modificar o tamanho de heap do JVM, leia:
- Ajustando Java Virtual Machines
- Remova todas as informações de rastreio, exceto para *=info, porque as cadeias de rastreio adicionais impactam o desempenho do ODR ao ser ajustado. Para alterar as informações de rastreio, execute as etapas a seguir:
- Selecione Servidores > On Demand Routers ><On
Demand Router> > Resolução de Problemas > Log e Rastreio > Serviço de Rastreio de Diagnóstico > Alterar Níveis de Detalhes do Log.
- Assegure-se de que apenas *=info esteja especificado.
Opcionalmente, leia a documentação do ODR. Consulte o
Criando e Configurando ODRs
.
Sobre Esta Tarefa
Use os tópicos desta seção para resolver problemas dos ODRs quando eles não estiverem operando de modo típico ou você estiver passando por problemas incomuns. Por exemplo, a lista a seguir contém sugestões de ajuste para aprimorar o desempenho do ODR, sugestões na ordem de importância para resolução de problemas.
Procedimento
-
Verifique as configurações do JVM. Consulte o Modificando o Tamanho de Heap do JVM para o On Demand Router
.
HP e Sun fornecem parâmetros de ajuste adicionais para otimizar a coleta de lixo. Para JVMs de coleta de lixo de geração, como Sun e HP, ou JVM J9 da IBM, ao usar coleta de lixo gencon, configure a região de memória permanente como aproximadamente 100 MB para conter o espaço de 90 MB que existe no ODR.
Além disso, um SurvivorRation de 16 otimiza ainda mais o processamento na nova geração.
Na JVM HP, você pode ativar NIO para obter um aumento no desempenho usando o
provedor de seletor
-Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.DevPollSelectorProvider e
desativando a pesquisa antes de uma leitura: -XX:-ExtraPollBeforeRead.
-
Sintonize as configurações do keep alive de conexão. Consulte o Ajustando Pedidos Persistentes do ODR
.
-
Aumente as conexões máximas do ODR por servidor. Consulte Ajustando Conexões máximas do ODR
-
Desative o cache do ODR quando não estiver em uso.
Quando o cache do ODR estiver ativado, o ODR deverá passar pelo processo para determinar se um pedido deve estar armazenado em cache, em seguida, examine o repositório do cache para verificar se o pedido foi armazenado em cache anteriormente. Isto causa sobrecarga adicional.
-
Desative o log de acesso, se não for necessário.
Se você não precisar do log de acesso, o log de proxy terá preferência sobre o log de Canal/NCSA de HTTP, conforme o log de acesso de proxy acontece fora do caminho do pedido/resposta. Dessa forma, ele não afeta o tempo de resposta do pedido. O log de acesso em um disco muito rápido tem tipicamente uma sobrecarga de 5%, mas a porcentagem é altamente dependente do desempenho do disco.
-
Use o mesmo grupo de encadeamento para o trabalho de entrada e saída, o que evitará o movimento de pedidos pelos encadeamentos e eliminará a sobrecarga resultante.
O ODR tem um conjunto de encadeamentos que se sintonizam na maioria das circunstâncias. O enfileiramento e a regulagem de pedidos são despachados para o conjunto de encadeamentos padrão, que pode ser sintonizado para que ele trate apenas de pedidos de estouro. O grupo de encadeamentos principal continuará a tratar da maioria dos pedidos. Todos os pedidos no conjunto de encadeamentos são assíncronos sem nenhuma chamada de bloqueio, portanto, o número de encadeamentos não deve ser mais de um ou dois por CPU. Execute as etapas a seguir para usar o mesmo grupo de encadeamentos para trabalho de entrada e saída:
-
Selecione Servidores > On Demand Routers > On
Demand Router > Conjuntos de Encadeamentos default thread pool >
Propriedades Customizadas > Novo
-
Especifique combineSelectors para o nome.
-
Especifique 1 para o valor.
-
Clique em OK.
-
Clique em Salvar.