AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 167364
Accepted
Martin Surasky
Martin Surasky
Asked: 2017-03-17 07:24:50 +0800 CST2017-03-17 07:24:50 +0800 CST 2017-03-17 07:24:50 +0800 CST

Definindo o valor de memória máxima do servidor correto em um ambiente clusterizado do SQL Server ativo/ativo

  • 772

Eu dei uma olhada na troca de pilha de dba e não consegui encontrar uma resposta para esta, então aqui vai minha preocupação. Espero que alguém tenha feito alguma pesquisa sobre isso e possa fornecer uma resposta confiável.

Temos um cluster Ativo/Ativo do SQL Server em execução em 2 nós. SQLA é o nó padrão para uma instância com a outra (SQLB) como failover e vice-versa (nó padrão SQLB para a outra instância com SQLA como failover). Esses servidores estão sendo executados em caixas físicas com 64 GB de RAM

Temos que configurar "Max Server Memory" e existem 2 teorias por aqui

  • Primeira teoria: siga a abordagem de Jonathan Kehayias praticamente universalmente aceita que, em poucas palavras, é assim "reserve 1 GB de RAM para o sistema operacional, 1 GB para cada 4 GB de RAM instalados de 4 a 16 GB e, em seguida, 1 GB para cada 8 GB de RAM instalados acima de 16 GB de RAM." Isso deixará cada caixa com uma configuração de memória máxima do servidor de 53 GB
  • Segunda teoria: precisamos limitar a memória máxima do servidor a um valor que permita que o nó secundário cuide da outra instância se ocorrer um failover. Isso limita cada instância a um valor muito menor (cerca de 30 GB para que você tenha 30 GB x 2 + 4 GB para o sistema operacional = 64 GB)

À primeira vista, a primeira teoria seria desejável, pois dá a cada instância um espaço de memória muito maior, mas algumas pessoas (inclusive eu) não têm certeza do que acontece se você fizer failover e tiver 2 instâncias na mesma caixa, cada uma com uma memória máxima do servidor de 53 GB de RAM.

Você sabe qual é o caminho a seguir com esse cenário? alguma dessas duas abordagens está certa? ou você tem razões válidas para que uma terceira abordagem seja usada? você conhece algum post sério de blog ou white paper para apoiá-lo com evidências?

Obrigado a todos!

sql-server memory
  • 1 1 respostas
  • 706 Views

1 respostas

  • Voted
  1. Best Answer
    Shanky
    2017-03-17T07:38:24+08:002017-03-17T07:38:24+08:00

    Observe que isso é chamado de cluster de várias instâncias não ativo na verdade. Sua preocupação está correta sobre o que aconteceria quando ambos os nós estivessem no mesmo nó; nesse caso, você precisa de um script dinâmico para identificar um failover e ajustar a memória máxima do servidor SQL Server de acordo.

    Vamos nos concentrar em como definir a memória máxima do servidor corretamente quando ambos os nós estão sendo executados nos respectivos nós para isso, veja minha resposta no segmento SE Qual é a maneira sensata de calcular a memória máxima do servidor .

    Agora, para o cenário em que o failover acontece e as duas instâncias estão no mesmo nó. Você tem que usar scripts dos seguintes recursos.

    • Use o script do PowerShell por meio do trabalho do agente de inicialização para equilibrar a memória entre duas instâncias em um cluster em um failover

    • Um tópico semelhante falando sobre como ajustar a memória para o cluster de várias instâncias

    Agora, quando ambas as instâncias estão no mesmo nó, você precisa distribuir uniformemente a memória deixando o suficiente para o sistema operacional. Nesse cenário, 29 G para cada instância e 6 G para SO é o que eu diria que seria um bom valor. Como você tem 2 instâncias em execução, deixar alguns shows a mais para o sistema operacional realmente ajudaria.

    Observe também que você deve sair imediatamente dessa situação, pois o SQL Server seria extremamente lento.

    • 1

relate perguntas

  • SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado

  • Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?

  • Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Como determinar se um Índice é necessário ou necessário

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve