CSA: servidores de aplicativos, agrupamentos, mensagens de transmissão múltipla e balanceadores de carga (somente no local)

ccppmop158
Configure as mensagens de transmissão múltipla, os balanceadores de carga e a persistência de sessão (sessões aderentes). A CSA também ajuda a dimensionar, compartilhar discos, distribuir arquivos nos servidores e gerenciar vários aplicativos ou instâncias de serviço em segundo plano. Você também pode configurar bancos de dados dedicados à geração de relatórios, executar o agrupamento do banco de dados Oracle e ajustar as JVMs Sun HotSpot.
2
Escalonar o
Clarity PPM
Escalonamento
descreve a complexa atividade de decidir quais serviços devem ser executados e quais computadores os executarão. Ao fazer o escalonamento para mais ou para menos, o objetivo é equilibrar o desempenho com confiabilidade. Até mesmo as menores instalações do
Clarity PPM
têm mais de um computador envolvido. Por exemplo, em geral, uma instalação tem a seguinte configuração:
  • Um servidor para o banco de dados e outro para todo o resto, ou
  • Um computador para o
    Clarity PPM
    , que se conecta a um datacenter de propriedade de um grupo que gerencia o banco de dados externamente.
As instalações de médio a grande porte do
Clarity PPM
, dependendo dos requisitos de desempenho e confiabilidade, geralmente têm serviços redundantes em execução em diversos computadores dedicados.
Mensagens de transmissão múltipla
O
Clarity PPM
utiliza intensamente as mensagens de transmissão múltipla em um agrupamento. O Beacon é um serviço de bootstrap executado em todas as máquinas gerenciadas de um agrupamento. O Beacon é usado para gerenciar e monitorar os serviços do
Clarity PPM
em cada caixa. O Beacon também é usado para aplicar os patches e as atualizações entregues no servidor de aplicativos do
Clarity PPM
.
Os serviços de Beacon empregam um mecanismo de detecção dinâmico que usa transmissão múltipla. Cada beacon envia uma mensagem de detecção a cada cinco segundos, informando a todos os servidores que estiverem na escuta do agrupamento que ele existe. A Administração de sistemas do
Clarity PPM
escuta essas mensagens de detecção de Beacon, usando-as para registrar os nós de agrupamentos ativos. Ao receber uma mensagem de detecção do Beacon, a Administração do sistema do
Clarity PPM
compara a senha do Beacon com a sua. Se essa verificação for bem-sucedida, a Administração do sistema do
Clarity PPM
adiciona o servidor à sua lista de servidores.
A Administração de sistema do
Clarity PPM
também executa pings em cada beacon diretamente a cada dez (10) segundos para determinar se o beacon está ativo. O ping é uma mensagem TCP (transmissão única), portanto, uma mensagem para cada beacon registrado é enviada pela rede. Esta é a vantagem da transmissão múltipla: uma mensagem de transmissão múltipla é enviada uma vez pela rede e recebida várias vezes pelas partes interessadas. Visto que trata-se de UDP (o contrário de TCP), é uma mensagem mais leve. A mensagem de transmissão única deve ser enviada pela rede apenas uma vez para cada parte interessada. Assim, a transmissão múltipla é perfeito para detecção dinâmica e o monitoramento de aplicativos como o Beacon.
O Beacon, porém, não é o único serviço que usa a transmissão múltipla. Além dos Beacons, os serviços de gestão de cache em servidores de aplicativos e de segundo plano distribuem suas próprias mensagens para manter a consistência do cache. Essas mensagens não contêm dados reais. Elas somente informam aos servidores remotos quando os dados residentes se tornam obsoletos e devem ser recarregados do banco de dados. Esse processo é denominado descarregamento de cache. Sempre que um cache é descarregado em um determinado servidor de um agrupamento, uma mensagem é enviada pela rede. Todos os outros serviços app e bg recebem a mensagem os instruindo a descarregar seus próprios caches de dados.
O
Clarity PPM
usa um segmento do monitor de sessão para impedir que sessões em diferentes servidores expirem prematuramente. Esse segmento transmite a cada cinco minutos uma mensagem maior contendo as IDs das sessões ativas. Quando uma sessão não está mais ativa em um servidor, ele é descarregada de todos os servidores. Quando uma sessão permanece ativa, é marcada como tal em todos os outros servidores para evitar que os usuários sejam desconectados.
Os servidores de um agrupamento do
Clarity PPM
devem ser capazes de enviar e receber mensagens de transmissão múltipla. Em uma sub-rede normal, isso é permitido por padrão.
Como prática recomendada, mantenha todos os servidores na mesma sub-rede. Se você for forçado a usar servidores em locais diferentes com sub-redes diferentes, crie uma ponte de transmissão múltipla entre eles.
Essa prática poderia parecer tráfego UDP extra. No entanto, quando se compara a quantidade de dados que navegam entre o banco de dados, o servidor de relatórios, os servidores de aplicativos e clientes, as mensagens do agrupamento são irrelevantes. O tráfego extra é uma pequena porcentagem do tráfego geral da rede. Muitas vezes, as pessoas ouvem falar em transmissão e pensam que suas redes estão sobrecarregadas. O fato é que todo o tráfego de rede é transmitido. Todas as mensagens TCP (transmissão única) em uma sub-rede alcançam cada nó da sub-rede, exatamente como as mensagens UDP (transmissão múltipla). A diferença é que as mensagens TCP são de duas a três vezes maiores do que as mensagens UDP. Uma vez que a chegada das mensagens TCP é garantida, elas exigem vários handshakes por pacote. Esse processo significa que as mensagens TCP são maiores. Além disso, essas mensagens de transmissão múltipla no
Clarity PPM
são minúsculas em comparação com a solicitação média de banco de dados. Com vários servidores de aplicativos, de segundo plano e de relatórios em um sistema de alto desempenho, são feitas centenas de solicitações de banco de dados por segundo. Comparadas a isso, as minúsculas mensagens UDP disparadas por servidor a cada cinco segundos não são nada.
O CA PPM introduziu JGroups na arquitetura para controlar as mensagens de transmissão múltipla na camada de aplicativo. Antigamente você podia executar a camada de aplicativo sem transmissão múltipla, mas hoje ela está muito mais envolvida com o mecanismo de processo e em segundo plano. Esses dois serviços provavelmente não seriam executados conforme esperado. O CA PPM 14.x e releases mais recentes normalmente exigem que a transmissão múltipla esteja ativa na camada do roteador para que os serviços de agrupamento do CA PPM se comuniquem corretamente.
Balanceadores de carga e persistência de sessão (sessões aderentes)
O
Clarity PPM
oferece suporte aos balanceadores de carga de hardware ou software. O
Clarity PPM
não tem monitoração de estado e foi projetado para funcionar com rodízio e outros modelos de distribuição. No entanto, ele é mais eficiente em termos de desempenho e memória quando uma sessão de usuário permanece em um servidor. Adicionando mais servidores de aplicativos você aumenta o desempenho.
A persistência da sessão é necessária em um ambiente de balanceamento de carga. E isso não depende do algoritmo usado ou do número de recursos contidos no servidor.
Para exemplificar, considere um algoritmo de balanceamento de carga que distribui as solicitações individuais de uma única sessão de usuário entre cinco servidores de aplicativos. Nesse caso, cada servidor carrega e armazena em cache esses dados de sessão do usuário. Você usa cinco vezes mais memória do que usaria com a Persistência da sessão ativada para que a sessão do usuário permaneça em um único servidor.
É recomendável ativar a opção Persistência da sessão no balanceador de carga.
Configure o balanceador de carga para usar persistência de sessão temporária. A persistência da sessão temporária envia solicitações da mesma sessão de usuário para o mesmo servidor. Se o servidor estiver sobrecarregado ou outro servidor estiver ocioso, ela moverá a persistência do servidor sobrecarregado para o ocioso. Como o
Clarity PPM
não monitora o estado, ele suporta este processo. Além disso, se um servidor sobrecarregado parar de funcionar, essas sessões não serão perdidas. Supondo que o balanceador de carga detecte corretamente o servidor inativo e redirecione as solicitações para outro, essas sessões de usuário ficam totalmente disponíveis no novo servidor.
Compartilhar discos
Em um agrupamento do
Clarity PPM
, vários serviços de app e bg devem usar o mesmo disco para indexação de pesquisa. A menos que os arquivos sejam armazenados no banco de dados, os serviços também devem usar o mesmo disco para o armazenamento de documentos. Na Administração do sistema do
Clarity PPM
, certifique-se de que cada servidor com serviços de aplicativo ou de segundo plano aponte a propriedade Diretório do índice de pesquisa para o mesmo disco compartilhado. A menos que você armazene arquivos no banco de dados, a propriedade Diretório de armazenamento de arquivos também deverá apontar para o mesmo disco compartilhado.
Você pode compartilhar discos com mais eficiência usando uma solução de rede de área de armazenamento ou de armazenamento conectado à rede. O compartilhamento de arquivos Unix NFS ou Windows também é aceitável.
Distribuir arquivos para servidores de um agrupamento
Distribua os arquivos atualizados para todos os servidores do agrupamento. Os arquivos atualizados incluem os arquivos do servidor de aplicativos que são atualizados por meio da personalização de temas de interface de usuário ou da instalação de uma hotfix, um patch ou uma atualização.
Também é possível visualizar o status da distribuição clicando em NSA Logs e escolhendo nsa-ca.log. Quando o processo é concluído, a janela de status é fechada e a página principal aparece. A página de distribuição mostra a data e a versão da distribuição mais recente.
Siga estas etapas:
  1. Efetue logon na CSA (
    Clarity PPM
    System Administration - Administração do Sistema do CA PPM).
  2. Abra Distribuição e clique em Distribuir tudo.
    Essa opção distribui todos os arquivos atualizados no diretório inicial do
    Clarity PPM
    .
  3. Selecione um ou mais servidores e clique em Distribuir.
Várias instâncias de serviços de aplicativo ou de segundo plano
Se você usar máquinas de grande porte com grandes quantidades de memória física disponível, execute várias instâncias do serviço de aplicativo (app) e de segundo plano (bg) nessas máquinas. Do ponto de vista do
Clarity PPM
, isso não é diferente de executar serviços em dois computadores diferentes. Você pode usar toda a capacidade de um computador, com a vantagem de ter mais desempenho e confiabilidade provenientes de vários serviços.
A CSA facilita as diversas instâncias fornecendo uma ação Duplicar. Essa ação cria uma cópia do serviço app ou bg desejado com nomes de serviço e portas incrementados e disponíveis para evitar conflitos.
Depois de clonar um serviço, você poderá iniciar, interromper e gerenciar a nova instância do serviço como faria com a original.
Siga estas etapas:
  1. Efetue logon na CSA.
  2. Abra Início e clique em Todos os serviços.
  3. Marque a caixa de seleção para o tipo de serviço que deseja clonar e clique em Clonar.
  4. Se necessário, vá para o servidor em que você criou um serviço e modifique as configurações clonadas.
Configurar uma fonte de dados externa dedicada
Você pode configurar o
Clarity PPM
para usar um banco de dados secundário a fim de executar relatórios. Certifique-se de que um banco de dados secundário esteja razoavelmente sincronizado com o banco de dados de produção do
Clarity PPM
. Quando o banco de dados de relatórios estiver muito atrasado em relação o banco de dados de produção, pode haver problemas. Por exemplo, os dados de usuários ou instância a serem incluídos no relatório não existem no banco de dados de relatórios.
Quando um relatório é configurado como mostrado no procedimento a seguir, o relatório é executado somente em relação ao banco de dados de relatórios. Todas as tabelas necessárias para o relatório, inclusive as tabelas de segurança e de usuários, devem ser sincronizadas. Se você sincronizar um subconjunto das tabelas do banco de dados de produção, selecione as tabelas corretas para oferecer suporte aos relatórios.
Siga estas etapas:
  1. Efetue logon na CSA e, na Página inicial, clique em Servidores.
  2. Clique no ícone Propriedades do servidor que deseja configurar.
  3. Clique na subguia Banco de dados.
  4. Na seção Conexão interna: Niku, clique em Nova conexão externa.
  5. Preencha as propriedades apropriadas do banco de dados de relatórios:
    • ID
      Define a ID usada para identificar essa conexão posteriormente.
    • Nome do serviço
      Refere-se a uma entrada TNS válida (Oracle) ou uma entrada ODBC (MS SQL Server) no servidor de relatórios.
  6. Salve as alterações.
  7. Clique na subguia Relatório.
  8. Preencha o campo a seguir:
    • ID de banco de dados
      A ID de banco de dados do
      Clarity PPM
      usada para recuperar informações do banco de dados ao executar relatórios. Essa ID corresponde a IDs de conexões de banco de dados definidas na página
      Servidor: Propriedades
      do banco de dados.
      Valores:
      Niku e Sistema
      Padrão:
      Niku
      Obrigatório:
      não
  9. Salve as alterações.
  10. Repita as etapas anteriores para todos os servidores do agrupamento do
    Clarity PPM
    .
  11. Reinicie todos os serviços Aplicativo
    Clarity PPM
    (app) e Segundo plano do
    Clarity PPM
    (bg) do agrupamento.
  12. Em cada servidor de relatórios do agrupamento:
    1. Crie uma entrada TNS (Oracle) ou ODBC (SQL Server) com as propriedades de conexão adequadas apontando para o servidor dedicado do banco de dados de relatórios.
    2. Verifique se o nome selecionado corresponde ao nome de serviço da conexão externa na Administração do sistema do
      Clarity PPM
      .
  13. Instale relatórios.
Na Release 14.4 e mais antigas, você poderia usar essas etapas para instalar os relatórios, o universo do
Clarity PPM
e outros conteúdos de relatório no servidor de relatório BusinessObjects Enterprise. Nas releases 15.1 e mais recentes, é possível usar essas etapas de modo a configurar um banco de dados transacional paralelo para executar relatórios em vez de, ou além de, usar o esquema de data warehouse. As etapas se aplicam para inclusão de qualquer fonte de dados adicional nas edições locais do CA PPM. Por exemplo, adicione um esquema de transação replicado, data warehouse externo ou qualquer esquema de aplicativo de terceiros que resida em um banco de dados Oracle ou MS SQL.
Agrupamento de banco de dados Oracle
O
Clarity PPM
oferece suporte ao uso de um agrupamento Oracle para propiciar mais escalabilidade, redundância e tolerância a falhas do que é possível com um único servidor Oracle.
Siga estas etapas:
  1. Se necessário, exporte o banco de dados Oracle de um único servidor da instância de nó único e importe-o para o agrupamento.
  2. Efetue logon na CSA.
  3. Abra Início e clique em Servidores.
  4. Clique no ícone Propriedades do servidor cujas propriedades você deseja editar.
  5. Selecione a subguia Banco de dados.
  6. Edite as seguintes propriedades da conexão de banco de dados:
    • Especificar URL
      Selecionado.
    • URL do JDBC
      URL do JDBC do agrupamento Oracle totalmente qualificado. Esse URL é um prefixo jdbc seguido da especificação TNS completa.
      A JDBC URL deve conter o parâmetro ServiceName que faz referência a uma entrada TNS no host Oracle especificado com a configuração RAC desejada.
      Por exemplo:
      jdbc:clarity:oracle://server:1521;ServiceName=serviceTNS;BatchPerformanceWorkaround=true;InsensitiveResultSetBufferSize=0;ServerType=dedicated;supportLinks=true
      Exemplos alternativos:
      Incorpore os servidores RAC no próprio URL com a seguinte sintaxe DataDirect:
      jdbc:clarity:oracle://server1:1521;ServiceName=serviceTNS;BatchPerformanceWorkaround=true;InsensitiveResultSetBufferSize=0;ServerType=dedicated;supportLinks=true;AlternateServers=(server2:1521;server3:1521);LoadBalancing=true
      Servidores Oracle RAC com escuta SCAN:
      jdbc:clarity:oracle://oracscan:1521;ServiceName=serviceTNS;BatchPerformanceWorkaround=true;InsensitiveResultSetBufferSize=0;ServerType=dedicated;supportLinks=true;AlternateServers=(oracscan:1521);FailoverMode=Select;ConnectionRetryCount=20;ConnectionRetryDelay=15;LoadBalancing=true"
      Oracle DataGuard:
      jdbc:clarity:oracle://PRIMARY_SERVER:1521;ServiceName=CLARITY_RW;AlternateServers=(PHYSICAL_STANDBY_SERVER:1521);ConnectionRetryCount=20;ConnectionRetryDelay=15;;BatchPerformanceWorkaround=true;InsensitiveResultSetBufferSize=0;ServerType=dedicated;supportLinks=true
      Para obter mais informações, consulte estes recursos:
      Documentação da Oracle para a instalação do RAC e DataGuard, SCAN e para configuração de serviços.
      Site da DataDirect. Procure obter informações sobre como usar o DataDirect Connect para JDBC com o Oracle Real Application Clusters (RAC).
  7. Salve as alterações.
  8. Para validar as definições do banco de dados, execute um relatório de integridade do sistema para cada servidor. Consulte Executar um relatório de integridade.
  9. Para os servidores de aplicativos Apache Tomcat, reinicie todos os serviços na Administração do sistema do
    Clarity PPM
    .
Ajustar JVMs Sun HotSpot
Estas informações se aplicam apenas a ambientes com JVMs Sun HotSpot.
O ajuste correto da JVM Sun HotSpot é uma tarefa importante da configuração e manutenção do
Clarity PPM
. Embora esse ajuste seja importante para o serviço em segundo plano, é mais importante ainda para os serviços de aplicativo em execução no agrupamento. O foco deste artigo é o aplicativo.
Consulte a documentação para obter essas configurações no site da Oracle. Você também pode consultar o CA Services para obter ajuda com o dimensionamento do tamanho da memória heap da JVM em sua implementação.
Há muitas opções disponíveis para ajustar um JVM HotSpot.
Melhor prática
: use ao menos os seguintes valores:
  • Máximo de memória heap
    -Xmx<tamanho>m
    A configuração máxima de memória heap determina o máximo de memória que o sistema operacional local fornece para o Java VM. O sistema operacional local não aloca toda essa quantidade de memória imediatamente na inicialização, mas pode fazer isso à medida que o processo é executado. Como prática recomendada, defina esse valor para pelo menos 2048 Mb (2 GB), mesmo para instalações pequenas. Para melhorar o desempenho e ter menos erros de falta de memória, defina esse valor para 4 GB ou 8 GB no caso de conjuntos de dados maiores. Por exemplo, -Xms1024m -Xmx4096m.
  • Mínimo de memória heap
    -Xms<tamanho>m
    Essa configuração é importante para evitar perda de trabalho pela VM quando expande a memória heap à medida que o aplicativo é ampliado. Especifique o mínimo de memória heap o mais próximo possível da realidade. Se, em geral, o aplicativo usar 1,2 GB de RAM, defina a configuração de memória heap mínima como 1200m. Você pode definir os tamanhos mínimo e máximo de memória heap como sendo iguais. Isso leva a uma tarefa mais simples para a coletor de lixo de VM. Essas configurações também fazem com que o processo do JVM aloque o máximo total de memória heap do sistema operacional na inicialização, o que é mais consistente. Esse processo requer que você avalie os reais requisitos de alocação de memória do servidor.
  • Coletor de lixo paralelo
    -XX:+UseParallelGC
    O coletor de lixo paralelo é recomendado para servidores com duas ou mais CPUs. Ele pode ser configurado com segurança em todos os servidores. Qualquer servidor com menos de duas CPUs ignora essa configuração.
  • Nova proporção
    -XX:NewRatio=<size>
    A VM HotSpot segrega objetos em espaços novos e antigos com base na idade dos objetos na memória. Os objetos de curta duração tendem a ficar no espaço novo (ou Eden) e são coletados antes de ir para outro local. Os objetos de longa duração são migrados para o espaço antigo (ou Tenured). A configuração de nova proporção na verdade não define o tamanho explícito do espaço novo, mas sim uma razão entre o velho e o novo. Uma configuração de -XX:NewRatio=3 é convertida em uma proporção de 1 para 3, onde a nova geração é 1/3 do tamanho da geração antiga. Aplicativos que criam e destroem vários objetos de curta duração temporários rapidamente, como em um servidor de aplicativos como o
    Clarity PPM
    , exigem um espaço Novo maior que a média. Caso contrário, o novo espaço transbordará enquanto o antigo estará ocupado abaixo da capacidade. O padrão de nova proporção varia de acordo com a plataforma. Para evitar problemas no
    Clarity PPM
    , independentemente da plataforma, defina a nova proporção como 1 para 2, o que significa
    XX:NewRatio=2
    .
  • Tamanho máximo permanente
    -XX:MaxPermSize=<size>m
    Além do espaços novo e antigo, há um terceiro espaço chamado permanente. Nele, residem objetos permanentes, principalmente definições de classes Java. Esse espaço não aumenta com o uso do aplicativo, mas com o tamanho do aplicativo. Quanto mais classes forem carregadas no aplicativo, maior será o tamanho do espaço permanente. A configuração padrão de 64m mostrou-se muito pequena. No Apache Tomcat, a configuração padrão do
    Clarity PPM
    para este espaço é 256m.