Temos uma máquina com 256 GB de RAM.
A memória máxima do servidor para o SQL Server é definida como 180 GB.
De 180 GB, o SQL Server normalmente usa:
- Memória de cache do banco de dados - ~ 140-150 GB
- Cache do plano - ~ 10 GB
- Memória roubada do servidor: ~ 30 GB
- Memória livre: ~ 9 GB
- Memória de espaço de trabalho garantida: geralmente muito baixa, os picos podem ser de 0,5 a 1 GB
Taxa de acerto do Cache de Buffer - paira acima de 99,9% o tempo todo.
A expectativa de vida da página é um número bastante alto.
Tamanho total dos arquivos de dados do banco de dados - 650 GB.
A taxa de crescimento de dados é de cerca de 500-1500 MB diariamente (mas! os dados mais antigos são excluídos a cada 6-8 meses, então, basicamente, os arquivos de dados crescem muito mais lentamente do que isso).
Pergunta
Há um requisito para migrar o SQL Server para outra máquina. Visando o SQL Server 2022 quando for lançado.
É uma carga de trabalho mista do tipo OLTP e OLAP, os mesmos bancos de dados usados por muitos aplicativos; a maior parte da RAM é usada por páginas de banco de dados em cache, o que significa que o SQL Server não precisa lê-la do disco o tempo todo.
Parece que 128 GB para uma nova máquina serão suficientes, com Max Server Memory definido para ~ 110 GB, deixando 18-13 GB para o sistema operacional.
O servidor de destino estará na VM do Azure e lá você não poderá dimensionar vCPU e RAM independentemente um do outro. Uma máquina com 256 GB de RAM terá o dobro de núcleos em comparação com uma máquina de 128 GB, resultando em uma diferença de custo bastante grande. Acho que reduzir o custo em relação ao que foi projetado inicialmente pode trazer benefícios para mim a longo prazo, então acho que vale a pena explorar. No Azure, você pode escalar a qualquer momento, se necessário.
Se você fosse eu, como você provaria cientificamente ao seu gerente que cortar a memória pela metade não vai matar o desempenho do SQL Server, não vai explodir a taxa de acertos do Buffer Cache ou algo assim?
Eu sei que para um DBA, pode parecer seguro reduzir o tamanho desta máquina para 128 GB, já que a carga de trabalho não será alterada. Mas como você convenceria um gerente com base em sua experiência?
Esta é uma pergunta difícil de responder/provar sem saber muito mais sobre sua carga de trabalho do que o fornecido.
Mas, acho que uma maneira fácil de verificar antes de se comprometer com um servidor menor seria apenas alterar a configuração de memória máxima em sua instância de produção atual e ver como é o desempenho.
Nada que você descreveu parece ser um impedimento, ele pode funcionar muito bem com pouca memória (apenas com mais atividade de disco) ou pode travar e queimar. (Ou apenas travar e queimar quando os relatórios mensais são executados, é difícil dizer).
Se eu fosse confrontado com este projeto, faria com que a empresa comprasse esse plano e, em seguida, alterasse a configuração de memória máxima e veria o que acontece. Talvez reduza em quantidades definidas e espere e veja antes de seguir em frente. Assista como um falcão, pronto para mover o número de volta, se necessário, mas é uma operação online e rápida de mudar.