Ajuste de Desempenho de Publicação/Assinatura

Ajuste seus intermediários e os bancos de dados que eles utilizam para tratar de um grande número de assinaturas.

O WebSphere Event Broker suporta até 25 000 assinaturas em um intermediário. As seguintes seções descrevem algumas atitudes que devem ser tomadas para ajustar os seus intermediários e os bancos de dados para tratar dessas assinaturas com eficiência.

Intermediários

Altere a propriedade do intermediário jvmMaxHeapSize. O valor padrão para esta propriedade é 128 MB.

O valor dessa propriedade deve ser grande o suficiente para todos os tópicos nas assinaturas. Por exemplo, se você possui 10.000 assinaturas, cada uma para um tópico que utiliza 20 KB de armazenamento, configure o valor da propriedade jvmMaxHeapSize para, pelo menos, 200 MB.

Utilize o comando mqsichangeproperties para aumentar o valor da propriedade jvmMaxHeapSize para 256 MB:
mqsichangeproperties brokername -o ComIbmJVMManager -n jvmMaxHeapSize -v 268435456
em que brokername é o nome do intermediário.

O Configuration Manager utiliza a lista de assinaturas que podem ser armazenadas em seu disco rígido local:

O diretório deve ter, pelo menos, duas vezes o tamanho do espaço do tópico; ou seja, para 10.000 assinaturas que utiliza 20 KB cada uma, o tamanho do diretório deve ter, pelo menos, 512 MB.

Bancos de Dados

O intermediário armazena informações de assinatura em seu banco de dados. Pode ser necessário ajustar seu banco de dados para manipular o máximo de 25 000 assinaturas.
  • Windows platformUNIX platformLinux platform Dois limites são significativos ao utilizar o DB2. Ambos os limites afetam a capacidade de reiniciar o intermediário com êxito.
    • O primeiro limite ocorre quando houver aproximadamente 1000 assinaturas. O parâmetro DB2 APP_CTL_HEAP_SZ deve ser configurado para um alto valor para ativar o intermediário para consultar seu banco de dados na inicialização; um valor 8192 geralmente é grande o bastante para 1000 assinaturas. Você pode alterar o valor iniciando um prompt de comandos db2 e emitindo o comando db2 update db cfg using APP_CTL_HEAP_SZ 8192. Pode ser necessário finalizar qualquer conexão com o banco de dados.
    • O segundo limite ocorre em aproximadamente 8000 assinaturas. Quando o intermediário tentar iniciar, o seguinte erro poderá ser relatado no log do sistema:
      Database error: SQL State '54028';
      Native Error Code '-429';
      Error Text '[IBM][CLI Driver][DB2/LINUX] SQL0429N  The maximum number of concurrent LOB locators has been exceeded.  SQLSTATE=54028 '.    
      Este erro é causado por um limite para o número de LOB tratado no DB2. Para superar esse problema, é necessária uma correção no DB2; você precisa editar o arquivo db2cli.ini.

      Linux platformUNIX platform Nos sistemas Linux e UNIX, este arquivo está localizado em {DB2InstanceHome}/sqllib/cfg/db2cli.ini..

      Windows platform Nos sistemas Windows este arquivo está localizado em C:\Program Files\IBM\SQLLIB\db2cli.ini.

      Inclua as seguintes linhas no arquivo:

      [{Nome do banco de dados}]
      PATCH2=50
       LobCacheSize=1048576      
      A linha PATCH instrui o DB2 a liberar localizadores de LOB depois de utilizá-los e o parâmetro LobCacheSize ajusta a memória total disponível aos localizadores de LOB; neste caso, 1 GB. Pode ser necessário, então, reiniciar a instância do DB2.
  • z/OS platform No z/OS, se você estiver utilizando o DB2 Versão 8, ocorrerá um limite de banco de dados em aproximadamente 15 000 assinaturas. Para superar isso, modifique o valor de NUMLKUS. Um valor de 20000 pode suportar 25.000 assinaturas.

Coletivos

Quando uma assinatura for criada em um intermediário que seja membro de um coletivo ou que esteja diretamente vinculado a outro intermediário, todos os intermediários que estão conectados ao intermediário criam uma assinatura de proxy. O número total de assinaturas de proxy e assinaturas diretas deve ser inferior a 25 000 para cada intermediário. Esse limite tem implicações sobre o modo como você planeja a topologia do intermediário.

Por exemplo, considere um coletivo de N intermediários.

Para maximizar a conectividade, conecte uma instância de um cliente a cada intermediário com o qual essas instâncias assinam o mesmo tópico exclusivo. Portanto, para N intermediários, cada tópico exclusivo possui N clientes.

Nesta situação, cada intermediário possui uma assinatura a cada cliente conectado a ele e também uma assinatura de proxy a cada um dos outros intermediários no coletivo.

Portanto, cada intermediário tem N assinaturas para cada tópico exclusivo (uma para o cliente que está diretamente conectado e N-1 para as assinaturas de proxy para todos os demais intermediários). Se houver tópicos exclusivos T, certifique-se de que N*T <= 25 000. Ou seja, se você possui 1000 tópicos exclusivos, restrinja o tamanho do seu coletivo para, no máximo, 25 intermediários.

Tarefas relacionadas
Modificando um Intermediário
Configurando os bancos de dados do intermediário
Referências relacionadas
Valores de Parâmetro da JVM
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009. Todos os Direitos Reservados.
Última atualização : 2009-02-13 15:33:50

aq20816_