Propriedades do ORB

As propriedades do Object Request Broker (ORB) modificam o comportamento do transporte da grade de dados. Essas propriedades podem ser configuradas com um arquivo orb.properties, como configurações no console administrativo do WebSphere Application Server ou como propriedades customizadas no ORB no console administrativo do WebSphere Application Server.

orb.properties

O arquivo orb.properties está no diretório java/jre/lib. Quando você modifica o arquivo orb.properties em um diretório java/jre/lib do WebSphere Application Server, as propriedades do ORB são atualizadas no agente do nó e quaisquer outras Java virtual machines (JVMs) que estão utilizando o Java runtime environmen (JRE). Se você desejar esse comportamento, use as propriedades customizadas ou as configurações do ORB no console administrativo do WebSphere Application Server.

Configurações Padrão do WebSphere Application Server

O WebSphere Application Server possui algumas propriedades definidas no ORB por padrão. Essas configurações estão nos serviços de contêiner do servidor de aplicativos e no gerenciador de implementação. Essas definições padrão substituem quaisquer configurações criadas no arquivo orb.properties. Para cada propriedade descrita, consulte a seção Onde especificar para determinar o local para definir o valor sugerido.

Configurações do Descritor de Arquivo

Para sistemas UNIX e Linux, existe um limite para o número de arquivos abertos que são permitidos por processo. O sistema operacional especifica a quantidade de arquivos abertos permitidos. Se este valor for configurado muito baixo, ocorrerá um erro de alocação de memória no AIX e muitos arquivos abertos serão registrados no log.

Na janela de terminal do sistema UNIX, configure este valor para um valor mais alto que o valor do sistema padrão. Para máquinas SMP maiores com clones, configure para ilimitado.

Para configurações AIX, configure este valor como -1 (ilimitado) com o comando: ulimit -n -1.

Para configurações Solaris, configure este valor como 16384 com o comando: ulimit -n 16384.

Para exibir o valor atual, use o comando: ulimit -a.

Configurações de Linha de Base

As seguintes configurações são uma linha de base ideal mas não necessariamente as melhores configurações para cada ambiente. Entenda as configurações para ajudar a tomar uma boa decisão sobre quais valores são apropriados no seu ambiente.
com.ibm.CORBA.RequestTimeout=30
com.ibm.CORBA.ConnectTimeout=10
com.ibm.CORBA.FragmentTimeout=30
com.ibm.CORBA.LocateRequestTimeout=10
com.ibm.CORBA.ThreadPool.MinimumSize=256
com.ibm.CORBA.ThreadPool.MaximumSize=256
com.ibm.CORBA.ThreadPool.IsGrowable=false
com.ibm.CORBA.ConnectionMultiplicity=1
com.ibm.CORBA.MinOpenConnections=1024
com.ibm.CORBA.MaxOpenConnections=1024
com.ibm.CORBA.ServerSocketQueueDepth=1024
com.ibm.CORBA.FragmentSize=0
com.ibm.CORBA.iiop.NoLocalCopies=true
com.ibm.CORBA.NoLocalInterceptors=true

Descrições de Propriedades

Configurações de Tempo Limite

As seguintes configurações referem-se à quantia de tempo em que o ORB aguardará antes que as operações sobre pedidos sejam canceladas. Use essas configurações para evitar que encadeamentos em excesso sejam criados em uma situação anormal.

Tempo Limite do Pedido

Nome da Propriedade: com.ibm.CORBA.RequestTimeout

Valor válido: Valor de número inteiro para o número de segundos.

Valor sugerido : 30

Onde especificar: Console administrativo do WebSphere Application Server

Descrição: Indica quantos segundos uma solicitação aguarda por uma resposta antes de ser cancelada. Essa propriedade influencia a quantia de tempo em que um cliente precisa para efetuar failover se ocorrer uma falha de interrupção de rede. Se você configurar essa propriedade muito baixo, os pedidos poderão atingir o tempo limite involuntariamente. Considere cuidadosamente o valor dessa propriedade para evitar tempos limites acidentais.

Tempo Limite de Conexão

Nome da Propriedade: com.ibm.CORBA.ConnectTimeout

Valor válido: Valor de número inteiro para o número de segundos.

Valor sugerido : 10

Onde especificar: arquivo orb.properties

Descrição: Indica quantos segundos uma tentativa de conexão de soquete aguarda antes de ser cancelada. Essa propriedade, como o tempo limite de pedido, pode influenciar no tempo em que um cliente precisa para efetuar failover se ocorrer uma falha de interrupção de rede. Em geral, configure essa propriedade para um valor menor do que o valor do tempo limite de solicitação porque a quantia de tempo para estabelecer conexões é relativamente constante.

Tempo Limite de Fragmento

Nome da Propriedade: com.ibm.CORBA.FragmentTimeout

Valor válido: Valor de número inteiro para o número de segundos.

Valor sugerido : 30

Onde especificar: arquivo orb.properties

Descrição: Indica quantos segundos uma solicitação de fragmento aguarda antes de ser cancelada. Essa propriedade é semelhante à propriedade de tempo limite de pedido.

Configurações do Conjunto de Encadeamentos

Essas propriedades restringem o tamanho do conjunto de encadeamentos a um número específico de encadeamentos. Os encadeamentos são usados pelo ORB para distribuir os pedidos do servidor depois de serem recebidos no soquete. Configurar esses valores da propriedade muito baixo resulta em um aumento de profundidade da fila de soquete e possivelmente em tempos limites.

Multiplicidade de Conexão

Nome da Propriedade: com.ibm.CORBA.ConnectionMultiplicity

Valor válido: Valor de número inteiro para número de conexões entre o cliente e o servidor. O valor padrão é 1. Configurar um valor maior define uma multiplicidade entre várias conexões.

Valor sugerido : 1

Onde especificar: arquivo orb.properties

Descrição: Permite que o ORB use várias conexões em qualquer servidor. Na teoria, configurar esse valor promove paralelismo sobre as conexões. Na prática, o desempenho não é beneficiado pela configuração da multiplicidade de conexão. Não configure esse parâmetro.
Conexões Abertas

Nomes da Propriedade: com.ibm.CORBA.MinOpenConnections, com.ibm.CORBA.MaxOpenConnections

Valor válido: Um valor de número inteiro para número de conexões.

Valor sugerido : 1024

Onde especificar: Console administrativo do WebSphere Application Server

Descrição: Especifica um número mínimo e máximo de conexões abertas. O ORB mantém um cache de conexões que foram estabelecidas com os clientes. Essas conexões são limpas quando este valor for transmitido. A limpeza das conexões pode prejudicar o comportamento na grade de dados.
É Aumentável

Nome da Propriedade: com.ibm.CORBA.ThreadPool.IsGrowable

Valor válido: booleano; configure para true ou false.

Valor sugerido : false

Onde especificar: arquivo orb.properties

Descrição: Se configurado como true, o conjunto de encadeamentos que o ORB usa para solicitações recebidas pode crescer além do que o conjunto suporta. Se o tamanho do conjunto for excedido, novos encadeamentos serão criados para manipular o pedido, mas os encadeamentos não serão agrupados. Evite o crescimento do conjunto de encadeamentos ao definir o valor para false.
Profundidade da Fila de Soquete do Servidor

Nome da Propriedade: com.ibm.CORBA.ServerSocketQueueDepth

Valor válido: Um valor de número inteiro para número de conexões.

Valor sugerido : 1024

Onde especificar: arquivo orb.properties

Descrição: Especifica o comprimento da fila para conexões recebidas dos clientes. As filas ORB recebem conexões dos clientes. Se a fila estiver cheia, as conexões serão recusadas. Recusar conexões pode prejudicar o comportamento na grade de dados.
Tamanho do Fragmento

Nome da Propriedade: com.ibm.CORBA.FragmentSize

Valor válido: Um número inteiro que especifica o número de bytes. O padrão é 1024.

Valor sugerido : 0

Onde especificar: arquivo orb.properties

Descrição: Especifica o tamanho máximo do pacote que o ORB usa ao enviar um pedido. Se um pedido for maior que o limite de tamanho de fragmento, esse pedido será dividido em fragmentos de pedido e enviados, cada um, separadamente e remontados no servidor. Os pedidos de fragmentação são úteis em redes não-confiáveis onde os pacotes podem precisar ser reenviados. No entanto, se a rede for confiável, dividir as solicitações em fragmentos pode causar processamento desnecessário.
Nenhuma Cópia Local

Nome da Propriedade: com.ibm.CORBA.iiop.NoLocalCopies

Valor válido: booleano; configure para true ou false.

Valor sugerido : true

Onde especificar: No console administrativo do WebSphere Application Server, configuração Transmitir por Referência.

Descrição: Especifica se o ORB é transmitido por referência. O ORB usa a chamada transmitir por valor por padrão. A chamada Transmitir por valor causa custos extras de lixo e de serialização para o caminho quando uma interface é iniciada localmente. Ao configurar esse valor para true, o ORB usa um método transmitir por referência que é mais eficiente do que a chamada transmitir por valor.
Nenhum Interceptor Local

Nome da Propriedade: com.ibm.CORBA.NoLocalInterceptors

Valor válido: booleano; configure para true ou false.

Valor sugerido : true

Onde especificar: arquivo orb.properties

Descrição: Especifica se o ORB inicia os interceptores de solicitação mesmo ao fazer solicitações locais (intraprocesso). Os interceptores que o WebSphere eXtreme Scale usa são para segurança e os identificadores de rota não serão necessários se o pedido for tratado dentro do processo. Os interceptores que estão entre os processos são necessários apenas para as operações de chamada de procedimento remoto (RPC). Ao configurar 'Nenhum interceptor local', é possível evitar o processamento extra ao usar introduções de interceptores locais.
Atenção: Se a segurança do WebSphere eXtreme Scale estiver sendo usada, configure o valor da propriedade com.ibm.CORBA.NoLocalInterceptors para false. A infraestrutura de segurança usa interceptores para autenticação.