Ocasionalmente, você pode encontrar um comportamento de disposição de aplicativo que não é esperado. Este
tópico descreve algumas perguntas mais comuns e itens a serem verificados quando o
posicionamento de aplicativos não estiver funcionando como esperado.
Onde o Application Placement Controller Está Executando?
Para
descobrir onde o Application Placement Controller está executando, você pode usar o
console administrativo ou scripts. Para verificar o local no console
administrativo, clique em . Você também pode executar o
script checkPlacementLocation.jacl para exibir o servidor no qual o
Application Placement Controller está executando.
Quando o Application Placement Controller Inicia um Servidor?
O
Application Placement Controller inicia os servidores pelos seguintes motivos:
- Para atender a quantidade mínima de instâncias do aplicativo que são definidas para
o cluster dinâmico.
- Quando um pedido é encaminhado através do ODR para um cluster dinâmico desativado.
- Quando um cluster dinâmico puder ser beneficiar a partir da capacidade adicional.
O gerenciador de fluxos de pedidos autônomos envia um sinal indicando quão benéfico
seria para um cluster dinâmico ter mais capacidade adicional, e instâncias
adicionais iniciarem para o cluster dinâmico.
Para uma visualização do que está
em execução na visualização do Application Placement Controller, consulte as mensagens do
SystemOut.log.
Quando o Application Placement Controller Para um Servidor?
O
Application Placement Controller para um servidor pelos seguintes motivos:
- Existe uma restrição de memória em um nó. O Application Placement Controller
entende o mínimo para o cluster dinâmico, ou a capacidade total necessária para tal
cluster dinâmico, e os limitadores do processador e limitadores de memória do
sistema. Se a memória ficar baixa em um nó, o Application Placement Controller tenta
parar instâncias para tentar evitar que o nó efetue troca.
- O cluster dinâmico é configurado para início lento do aplicativo e parada por
inatividade proativa, e não há demandas para o cluster dinâmico.
Se o cluster dinâmico não tiver demandas, o Application Placement Controller tenta parar
instâncias desse cluster para eliminar o consumo de recursos de um cluster dinâmico inativo.
Porque o Application Placement Controller não Iniciou um Servidor?
O
Application Placement Controller pode não exibir que esse servidor tenha sido iniciado para
um dos seguintes motivos:
- A configuração não ativou o posicionamento de aplicativo dinâmico
- Verifique se o controlador de disposição está ativado. No console administrativo,
clique em .
- Verifique se os clusters de objetos ou clusters são clusters dinâmicos. O controlador de disposição de aplicativos age somente sobre clusters dinâmicos.
No console administrativo, clique em . Verifique
se o campo Modo Operacional de cada cluster objeto é Automático. Se não,
selecione os clusters dinâmicos e clique em Automático. Após selecionar
a opção automático para seus clusters dinâmicos, clique em Configurar Modo.
- Verifique se o tempo mínimo configurado entre os parâmetros de alteração de disposição não tem sua configuração muito alta.
No console administrativo, clique em . Configure o valor no campo Tempo Mínimo entre Alterações
de Disposição com um valor adequado. Os valores aceitáveis vão de 1 minuto a
24 horas.
- Valor de tempo limite de operação do servidor muito baixo
Algumas
vezes o Application Placement Controller não inicia um servidor porque a operação do
servidor expira. É possível configurar a quantidade de tempo antes de um tempo limite
ocorrer no console administrativo. Clique em . Edite o campo
Tempo limite de operação do servidor. Se a sua célula for
grande, seu sistema estiver lento ou o sistema estiver sob carga de trabalho pesada,
configure este campo em um valor mais alto. Este valor representa a quantidade de tempo
para cada servidor iniciar, mas ocorreu o tempo limite baseado na quantidade de
servidores em sua célula. Por exemplo, se tiver 5 servidores e configurar o valor para 10
minutos, então ocorre um tempo limite após 50 minutos.
- Memória insuficiente disponível
Você pode diagnosticar quando não há
memória suficiente disponível verificando inicializações falhas no arquivo SystemOut.log.
O
Application Placement Controller usa as fórmulas a seguir para calcular o consumo de
memória de um membro de cluster dinâmico:
Se nenhuma outra instância de
cluster dinâmico estiver em execução (cold start):Server memory consumption = 1.2*maxHeapSize + 64 MB
Se outras instâncias de
cluster dinâmico estiverem em execução, a memória do Application Placement Controller
usa a seguinte fórmula:Server memory consumption = .667*resident memory size + .333*virtual memory size
Os perfis de
memória não são persistentes quando o Application Placement Controller é reinicializado.
Se
desejar depurar, é possível desativar o gerenciador de perfis do Application Placement
Controller configurando a propriedade customizada memoryProfile.isDisabled
como true.
Visualizando suas informações de
inicialização falhas
Lembre-se: A lista de inicializações falhas não
são persistentes quando o Application Placement Controller reinicializa ou se move entre
os nós.
Você pode visualizar informações de inicialização falhas com uma
das seguintes opções:
- Use o script PlacementControllerProcs.jacl para consultar
operações falhas do servidor.
Execute o seguinte comando:
./wsadmin.sh -profile PlacementControllerProcs.jacl -c "anyFailedServerOperations"
- Use comandos na ferramenta wsadmin para exibir inicializações falhas.
Por
exemplo, você pode executar os seguintes comandos:
wsadmin>apc = AdminControl.queryNames('WebSphere:type=PlacementControllerMBean,process=dmgr,*')
wsadmin>print AdminControl.invoke(apc,'anyFailedServerOperations')
Quando
o servidor se tornar disponível, o sinalizador de inicialização falha é removido.
É possível usar o comando da ferramenta wsadmin a seguir para listar os servidores que
possuem o sinalizador de inicialização falha ativado:
wsadmin>print AdminControl.invoke(apc,'anyFailedServerOperations') OpsManTestCell/xdblade09b09/DC1_xdblade09b09
- Visualize as inicializações falhas no arquivo SystemOut.log.
Porque o Application Placement Controller Iniciou Mais Servidores do Que
Eu Esperava?
Mais servidores podem ser inicializados do que o esperado quando
problemas de rede ou comunicação evitarem que o Application Placement Controller
receba confirmação de que um servidor tenha inicializado. Quando o Application Placement
Controller não recebe confirmações, ele pode inicializar um servidor adicional.
Como Eu Sei Quando o Application Placement Controller Concluiu uma Ação
ou Está para Concluir uma Ação?
Você pode verificar as ações do Application
Placement Controller com tarefas de tempo de execução. Para visualizar as tarefas de
tempo de execução, clique em . A lista de tarefas de tempo de
execução inclui tarefas que o Application Placement Controller está concluindo e
confirmação de que alterações foram feitas. Cada tarefa de tempo de execução possui um
status de bem-sucedida, falha ou desconhecida. Um status de desconhecida significa
que não houve confirmação de se a tarefa foi bem-sucedida.
Como Posso Iniciar ou Parar um Servidor Sem Interferir Com o Application Placement Controller?
Se
você iniciar ou parar um servidor enquanto o cluster dinâmico estiver no modo
automático, o Application Placement Controller pode decidir fazer alterações
em suas ações. Para evitar interferência no Application Placement Controller
quando você iniciar ou parar um servidor, coloque o cluster dinâmico em modo manual
antes de iniciar ou parar um servidor.
Em um Sistema Heterogêneo (Hardware Combinado ou Sistemas Operacionais),
Como o Application Placement Controller Seleciona Onde Ele Inicia um Servidor?
A
política de associação para um cluster dinâmico define os nós elegíveis nos quais os
servidores podem iniciar.
A partir deste conjunto de nós, o Application Placement Controller seleciona um nó no
qual iniciar um servidor considerando limitadores do sistema como capacidade do
processador e de memória disponível. O Application Placement Controller não toma nenhuma
decisão sobre o posicionamento do servidor em sistemas operacionais.
Quando Meu Cluster Dinâmico Estiver Sob Carga, Quando o Application
Placement Controller Inicia Outro Servidor?
O Application Placement Controller
trabalha com o ARFM (Autonomic Request Flow Manager) e as políticas de serviço definidas
para determinar quando iniciar os servidores. As políticas de serviço definem os máximos
de desempenho e prioridade para aplicativos e guiam os controladores autônomos nas
decisões de formatação de tráfego e fornecimento de capacidade. Os objetivos de
política de serviço indiretamente influenciam nas ações que são tomadas pelo o
Application Placement Controller. O Application Placement Controller provê mais
servidores com base nas informações a partir do ARFM sobre quanta capacidade é necessária
para a quantidade de pedidos simultâneos que estão sendo atendidos pelas filas ARFM. Esta
quantidade é determinada com base em quanta capacidade cada pedido usa quando ele é
atendido e quantos pedidos simultâneos o ARFM determina é apropriado. A quantidade de
pedidos simultâneos é baseada na prioridade do aplicativo, objetivo, e assim por
diante.
Os objetivos de desempenho que são definidos pelas políticas de serviço
não são garantidos. O WebSphere Virtual Enterprise não pode
fazer com que seu aplicativo responda mais rapidamente que seu limite. Além disso, mais
capacidade não é provisionada se já tiver sido provisionada capacidade suficiente para
atender a demanda, mesmo se o objetivo da política de serviço estiver sendo violado. O
WebSphere Virtual Enterprise pode evitar que objetivos de política
de serviço não realistas a partir da introdução de instabilidade no ambiente.
Como o Application Placement Controller Determina o Tamanho de Heap
Máximo do Meu Servidor?
É possível alterar o
tamanho de heap do servidor no modelo de cluster dinâmico.
Consulte o
Modificando o Tamanho de Heap da JVM
para obter informações adicionais.
Como o Application Placement Controller Trabalha com o
Compute Grid Específico,
Enviando Tarefas e Seleção de Terminal?
Quando o Application Placement Controller
e o Compute Grid estão configurados para
trabalharem juntos, o Compute Grid delega a tarefa
de seleção de terminal para o controlador de posicionamento. Quando tarefas são
enviadas, o Compute Grid solicita que o controlador
de posicionamento para selecionar um terminal no qual executar a tarefa. As informações
que o Compute Grid inclui neste pedido
para o Application Placement Controller incluem a classe da tarefa, o objetivo de tempo
de conclusão e os nós, clusters ou servidores onde a tarefa pode executar.
Quando o Application Placement Controller tiver selecionado um terminal, estas
informações são passadas de volta para o Compute Grid,
que é responsável pela inicialização da tarefa. Quando o Application Placement
Controller seleciona o terminal, ele considera o objetivo de tempo de conclusão para a
tarefa, os recursos disponíveis no sistema, o perfil de execução de tarefas
anteriores na mesma classe e outros trabalhos, incluindo tanto trabalhos transacionais e
em lote, que o sistema precisa manipular.
O Application Placement Controller tenta selecionar um terminal para que a tarefa tenha
recursos suficientes para conclusão ou antes do seu objetivo de tempo de conclusão. Como
o processo de seleção que deve ocorrer, o Application Placement Controller nem sempre
seleciona um terminal para a tarefa. Nesta situação, a tarefa não inicia imediatamente. Este
atraso é provável se o sistema for pequeno, tiver outro trabalho transacional ou em lote,
e o objetivo de tempo de conclusão para a tarefa for longo.
Como o Application Placement Controller Trabalha com o WebSphere eXtreme Scale?
O
Application Placement Controller se integra ao
WebSphere eXtreme Scale. Em
particular, antes de parar um membro do cluster dinâmico que contenha um servidor de
contêiner, o Application Placement Controller entra em contato com o servidor de
contêineres para fazer quiesce de qualquer trabalho que esteja pronto, e move todos
os dados vitais para locais de backup conforme a necessidade.
O serviço de catálogo
automaticamente é iniciado no gerenciador de implementação configurado. Se desejar
configurar o failover para o serviço de catálogo, é possível criar uma grade de serviço de
catálogo. Consulte
Inicializando
o processo do serviço de catálogo em um ambiente do
WebSphere Application Server para obter informações
adicionais.
O posicionamento de aplicativo também reconhece o conceito de zona de
replicação do WebSphere eXtreme Scale. O controlador de posicionamento de aplicativos garante que quando várias instâncias de um cluster dinâmico são necessárias, as instâncias são colocadas através de várias zonas de replicação. Para essa funcionalidade, o cluster dinâmico deve
ser mapeado para vários grupos de nós da zona de replicação.Consulte
Usando
zonas para posicionamento de réplica para obter informações adicionais.
Porque os Membros de Cluster Dinâmico não Herdam Propriedades do Modelo?
Você deve salvar os clusters dinâmicos para o repositório principal
antes de fazer alterações no modelo do servidor. Se você tiver membros de cluster
dinâmico que não herdam as propriedades do modelo, o modelo de servidor provavelmente
estará sujeito a alterações em um espaço de trabalho não salvo. Para corrigir esse
problema, exclua o cluster dinâmico e depois recrie-o.
Salve suas alterações
no repositório principal. Você pode assegurar-se de que suas alterações sejam salvas no
repositório principal depois de clicar em Concluir, clicando em Salvar na
janela de mensagem do quadro superior. Clique em Salvar novamente na janela
Salvar na Configuração Principal. Clique em Sincronizar Alterações com Nós.
Porque Meu Cluster Dinâmico Tem Muito Poucos Servidores Ativos?
Se
você encontrar problemas por não haver servidores suficientes em execução no cluster
dinâmico, tente as seguintes ações:
- Quando os nós no grupo de nós não forem altamente utilizados, verifique se a
política de serviço é atendida. Às vezes, a política pode não estar definida claramente
e, embora o sistema esteja apto a atendê-la, não o faz conforme suas expectativas. Para
verificar ou alterar uma política de serviço no console administrativo, clique em
Políticas Operacionais > Políticas de Serviço > Selecionar uma Política
Existente. Verifique o tipo de meta, o valor da meta e a importância da política e faça as alterações
necessárias.
- Quando os nós no grupo de nós forem muito utilizados, compare as
metas da política de serviços deste cluster com as metas da política de
serviços de outros clusters ativos. Se o tráfego pertencente a esse cluster
tiver menor importância ou metas de serviço de destino mais folgadas em
relação a outros clusters, é mais provável que o sistema instancie menos
servidores para este cluster. Para verificar ou alterar uma política de serviço no
console administrativo, clique em Políticas Operacionais > Políticas de Serviço
> Selecionar uma Política Existente.
- Quando parecer que o grupo de nós tem capacidade extra, mas suas políticas de serviço não forem atendidas, verifique as definições de configuração no cluster dinâmico.
Podem existir poucas dynamic cluster instances criadas como resultado da
configuração da política maxInstances.