Temos um aplicativo legado (ERP) que, por problemas técnicos, gera um novo processo do SO (.exe - ms windows clients) para cada tela solicitada pelo usuário. Além disso, cada filial da empresa (> 20) possui seu próprio esquema, e o aplicativo lida com 1 conexão para cada. Como cada usuário pode abrir quantas telas quiser, é bastante comum que alguns usuários cheguem a mais de 30 sessões.
Isso resultará na abertura de muitas conexões com o Oracle. No último relatório, obtivemos 861 sessões para 87 usuários (~10 sessões/usuário).
O DBA do meu cliente está dizendo que isso reduzirá o desempenho do banco de dados e exigirá montes (quantidades realmente enormes) da RAM e da CPU do servidor.
Esta afirmação faz sentido?
Então:
- Quais são os efeitos colaterais de aumentar o
PROCESSES
parâmetro do sistema? - Qual o custo de um processo aberto (mesmo que ocioso) no servidor?
Pelo menos você tem que aumentar a maioria dos parâmetros do kernel do sistema operacional (como o número de identificadores de arquivo). A maioria deles tem uma fórmula onde o uso
PROCESSES
é uma entrada. Além disso, cada processo do servidor aloca um pouco de RAM - cerca de não é grande, mas quando multiplicado por mil ...Os processos ociosos não têm nenhuma sobrecarga importante, mas quando o servidor de banco de dados começa a trocar a RAM, acabou. Todo o desempenho está ausente.