Mais RAM versus mais servidores

Mais RAM versus mais servidores

Recentemente me perguntaram: "Você sabe quando decidir entre optar por mais RAM ou mais servidores?" (no contexto do dimensionamento de aplicações de mineração de dados).

Eu não tinha ideia, então quais são algumas maneiras de decidir? Tenho muito pouco conhecimento de arquitetura e escalonamento (meu entendimento de memória de computador e do que um servidor faz é limitado ao básico de alto nível), então dicas sobre como aprender mais sobre essas coisas em geral também são muito bem-vindas.

Responder1

"Você sabe quando decidir entre mais RAM ou mais servidores?" (no contexto do dimensionamento de aplicações de mineração de dados).

A resposta é: assim que você me fornecer as métricas do servidor em questão, direi quais (ou se vale a pena adicionar alguma delas). Esse tipo de ajuste não é vodu (a menos que você esteja usando aplicativos sem instrumentação e sistemas operacionais de servidor sem instrumentação - então sim, é vodu), é ciência. Meça o aplicativo e o servidor. Resumindo, usando as métricas de monitoramento, descubra onde está o gargalo de desempenho e adicione mais dele.

Responder2

Geralmente há um pouco de vodu (ou pelo menos tentativa e erro) na melhoria do desempenho do servidor/aplicativo.

A regra geral para a pergunta específica feita é primeiro aumentar a memória até que ela não possa mais ser aumentadaOUaté que mais memória não melhore mais o desempenho. Com a memória relativamente barata, pode ser mais simples simplesmente maximizar a memória. Além disso, se o aplicativo tiver muitos discos, a atualização para unidades de alta velocidade ou controladores de alto desempenho pode fazer a diferença.

No entanto, a natureza muito geral da questão leva-me a pensar que não houve outras tentativas de melhorar o desempenho. Concordo que o hardware é barato, portanto, até mesmo colocar mais servidores em um problema é bastante fácil de realizar. Mas eu também garantiria que outros caminhos, especialmente o ajuste do sistema operacional e do banco de dados, fossem realizados. Às vezes, pequenos ajustes no banco de dados, no sistema operacional ou até mesmo na configuração do aplicativo podem resultar em enormes melhorias de desempenho.

Pesquise neste site com seu sistema operacional, banco de dados e aplicativo específicos e você poderá encontrar ouro.

Responder3

Como arquiteto corporativo, tenho lidado com esse problema quase diariamente. Escala vertical ou horizontal?

Quais são as suas necessidades?

Você precisa oferecer suporte a mais usuários? Você precisa melhorar a velocidade do serviço? Você precisa de ambos? Você precisa de alta disponibilidade 99.9999 ou seus usuários podem ficar inativos?

Para começar, você precisa capturar métricas de desempenho no sistema atual. Número de usuários ativos, cargas de RAM e CPU, E/S de disco - descubra onde estão seus gargalos.

Possíveis soluções baseadas nos problemas: Comece pela otimização dos recursos atuais. Se o seu aplicativo for orientado a banco de dados, otimize o banco de dados com caches de consultas e threads, índices, etc. Se você estiver compartilhando um servidor com outros aplicativos, explore a mudança para um servidor dedicado. (Examine a virtualização para aplicativos menos ativos/críticos para liberar recursos dedicados).

as máquinas atuais estão com capacidade total, RAM e CPU muito carregadas, alta E/S de disco - calcule o custo para adicionar RAM, você pode mudar para uma E/S de disco mais rápida (RAID, SATA no lugar de ATA)?

Se você precisar de alta disponibilidade, provavelmente precisará adicionar hardware e balanceamento de carga de qualquer maneira.

É mais barato adicionar atualizações de hardware ou adicionar novos servidores? O que se adapta às metas e ao crescimento de longo prazo?

Qual é o melhor momento para o seu departamento de TI gastar dinheiro? Você tem fundos agora ou deseja transferir as despesas para outro trimestre/ano? Se os fundos forem um problema, otimize agora ou explore a liberação de hardware de outros aplicativos para adicionar uma solução de balanceamento de carga temporária.

Não tenha medo de explorar inúmeras soluções. Os fornecedores podem querer que você compre uma solução centrada em armazenamento SAN com balanceamento de carga, onde um novo servidor com iSCSI RAID 10 integrado funcionará por 10% do custo.

Se sua CPU ainda estiver muito carregada após a otimização, você precisará adicionar/substituir hardware. Se a E/S do seu disco for o gargalo e você não puder atualizar a tecnologia de armazenamento, será necessário substituir o hardware ou adicionar soluções de armazenamento em rede/armazenamento conectado.

Capture métricas de desempenho. Otimize, melhore e capture métricas novamente. Continue documentando aumentos/quedas de desempenho para que você possa entregar um relatório que documente quanto você gastou e quanto ganho de desempenho resultou. Esses são os tipos de possíveis histórias de sucesso que transformam administradores em arquitetos, arquitetos em gerentes de projeto e PMs em gerenciamento superior, quando bem feitos.

Responder4

RAM é barata. Você deve sempre aumentar isso primeiro, até o ponto em que tenha a quantidade mais econômica (por exemplo, DIMMs de 4 GB são proibitivamente caros, então eu não me preocuparia com eles).

Em seguida, explore o dimensionamento lateral (mais servidores). Considere hardware de consumo barato versus peças de servidor caras, mas espere falhas e inclua estimativas de failover em sua capacidade total de processamento.

Basicamente,faça um Google.

informação relacionada