Balanceamento de carga
O balanceamento de carga distribui uniformemente a carga de trabalho entre dois ou mais computadores a fim de otimizar a utilização de recursos, maximizar o desempenho, minimizar o tempo de resposta e evitar sobrecarga. É necessário configurar o balanceamento de carga no aplicativo Central de Configurações. O Gerenciador do Middleware considera as configurações informadas na Central de Configurações, utilizando os dados para organizar a execução de processos entre os servidores disponíveis.
Primeiramente, é verificada a quantidade máxima de instâncias simultâneas que poderão ser executadas em cada Gerenciador de Aplicativo. O balanceamento garante que nunca sejam executadas mais instâncias que o determinado, fazendo com que a capacidade de cada servidor seja respeitada. Para calcular a quantidade máxima de instâncias de um servidor, devem ser considerados os itens:
- Quantidade de instâncias para cada sessão de usuário no sistema operacional;
- Performance da máquina;
- Velocidade da rede;
- Carga do processamento que será executado;
Com a quantidade máxima de instâncias definidas por servidor, o gerenciador trata o balanceamento por aplicativos utilizados. Considerando que os aplicativos podem ser acessados de várias formas diferentes, são definidas as quantidades de instâncias em modo de espera para cada forma de acesso, e a quantidade mínima de instâncias nesse modo de espera.
As instâncias pré-carregadas tornam o acesso aos aplicativos muito mais rápido, pois quando um usuário executa uma ação de inicialização de sistema, por exemplo, a instância pré-carregada já contém a maioria das informações e serviços necessários em execução, apresentando instantaneamente a tela para validar usuário e senha do sistema que foi requisitado.
Quando o sistema já está em uso, o balanceamento garante que sempre hajam instâncias pré-carregadas, fazendo com que o acesso seja rápido também para as instâncias que surgirem com a demanda.
É o próprio balanceamento de carga que faz com que as instâncias ociosas sejam finalizadas, liberando recursos dos servidores para execução de outras instâncias. Essa funcionalidade também é totalmente configurável, permitindo que seja definido o tempo máximo de instância ociosa, limite de memória utilizada e limite de tempo de execução.