Usuário com melhor resposta
Memória para Servidor rodando SQL Server 2005

Pergunta
-
Ola experts,
Sou novo com o SQL SERVER 2005, estou estudando muito para aprender e dominar o mais rápido possível. Estamos implantando um servidor Intel Xeon Dual 3.4 com 2GB de memoria e SQL Server 2005. Esse servidor tem capacidade maxima para 16GB.
Nossa rede tem 20 usuarios.
Pergunta: Vamos ter mais ou menos 15 usuarios acessando ao mesmo tempo o Servidor utilizando uma aplicação fazendo consultas, inserindo dados no SQL SERVER 2005, quanto minimo de memoria precisaria para não ter problema de performance ?
Obrigado.
Anderson Munizsegunda-feira, 24 de janeiro de 2011 11:56
Respostas
-
Olá Anderson,
Recomendo que você siga as instruções do Storage Top 10 Best Practices - http://technet.microsoft.com/en-us/library/cc966534.aspx para não ter problemas com gargalos de Disco. O SQL server é um aplicativo com alto consumo de IO e portanto você deve tomar muito cuidado com a alocação dos arquivos de banco de dados para que eles não concorram entrs si e com outros aplicativos do SO.
Se quiser podemos discutir através do msn ... me passa seus dados.
Abraços,
Fábio Oliveira Support Engieer | Microsoft Enterprise and Developer Support- Marcado como Resposta Junior Galvão - MVPMVP, Moderator terça-feira, 5 de junho de 2018 17:54
segunda-feira, 31 de janeiro de 2011 13:57 -
Olá Anderson,
Recomendo que você siga as instruções do Storage Top 10 Best Practices - http://technet.microsoft.com/en-us/library/cc966534.aspx para não ter problemas com gargalos de Disco. O SQL server é um aplicativo com alto consumo de IO e portanto você deve tomar muito cuidado com a alocação dos arquivos de banco de dados para que eles não concorram entrs si e com outros aplicativos do SO.
Se quiser podemos discutir através do msn ... me passa seus dados.
Abraços,
Fábio Oliveira Support Engieer | Microsoft Enterprise and Developer SupportOla fabio, pow gostaria, meu msn andybr bol com br
Valeu pelos feedbacks. Me ajudaram bastante.
Anderson Muniz- Marcado como Resposta Junior Galvão - MVPMVP, Moderator terça-feira, 5 de junho de 2018 17:54
segunda-feira, 7 de fevereiro de 2011 15:46
Todas as Respostas
-
Anderson,
Claro que tudo ira depender de seu ambiente e das ações realizadas nele, porem, em todos os meus servidores, eu tento seguir um padrão de memoria:
Como só tenho servidores com 16 e 32gb, segue "minha regra":
servidor total -> 16GB
SO (Disco C) -> 2GB
SQL (Memoria max) -> 14GB
Servidor total -> 32GB
SO (Disco C) -> 3GB
SQL (Memoria max) -> 29GB
- Sugerido como Resposta Luan.Moreno A.k.a SQL.SoulMVP segunda-feira, 24 de janeiro de 2011 13:44
segunda-feira, 24 de janeiro de 2011 12:15Moderador -
Anderson O. Muniz, bom dia!
Algumas considerações são necessárias como:
1 - Mensurar tamanho de crescimento da base de dados.
2 - Realizar configuração no SQL Server de MAX Server Memory.
1 - Mensurar tamanho de crescimento da base de dados.
Essa fase é muita importante, porque engloba parte física da construção do SQL Server. Isso quer dizer que isso está diretamente ligado as suas configurações. Inicialmente é dificil saber como irá ser o comportamento da Aplicação com o banco de dados. Mais seu servidor é bom, na verdade sempre procure fazer algumas análises semanalmente, como:
Verificar o Tamanho as Bases de Dados - Utilize DMV's e veja os arquivos dos dados.
Verificar Quantidade de Acessos no Banco de Dados - Utilize DMV's, Profiler.
Verificar Quantidade de Memória Usada pelo SQL Server - Utilize PerfMon e PAL (Performance Analysis Of Log).
2 - Realizar configuração no SQL Server de MAX Server Memory.
Na verdade ter 2GB de memória no servidor não quer dizer que o SQL Server irá utilizar isso sempre. Podem ter vários casos, mas além do SQL Server você tera utilização de outros processos dentro do servidor, então utilize o MAX Server Memory no sp_configure do SQL Server para indicar quanto o SQL Server pode utilizar do sistema e além disso, pesquise sobre AWE e PAE.
Em geral com poucas informações é difícil de realizar um diagnóstico completo, mais acho que isso pode ser útil para você. Aproveite e veja o que o caputofa escreveu, pegue como exemplo
Att,
Luan.Moreno MCP || MCTS SQL Server 2005 Blog: http://luanmorenodba.wordpress.com Twitter: @luansql Classifique as respostas. O seu feedback é imprescindível- Sugerido como Resposta Luan.Moreno A.k.a SQL.SoulMVP segunda-feira, 24 de janeiro de 2011 13:44
segunda-feira, 24 de janeiro de 2011 12:34 -
Olá Anderson Muniz,
O caputofa e o Luan.Moreno estão corretos.
Eu faria somente alguns ajustes em relação ao seu ambiente por ser bem pequeno (conforme você descreveu somente 20 usuários)
Servidor total -> 16GB
SO -> 4GB (É sempre bom lembrar que memoria para o SO também nunca é d+)
SQL -> 4GB (é mais que suficiente para suportar a quantidade de usuarios e as possíveis transações que eles irão executar em seu SQL)
USE master;
GO
EXEC sp_configure 'show advanced option', '1';
RECONFIGURE;
EXEC sp_configure 'max server memory', '4096';
RECONFIGURE WITH OVERRIDE;
Exec sp_configure;Desta forma você irá poupar recursos para adicionar mais algumas instancias de SQL neste mesmo servidor caso seja necessário.
Recomendação: utilize arquitetura x64 e você irá possuir um sistema com melhor suporte para gerenciamento de memoria.
qualquer duvida me procure
Abraços,
Fábio Oliveira Support Engieer | Microsoft Enterprise and Developer Support- Sugerido como Resposta Fábio Oliveira - SQL Team quarta-feira, 26 de janeiro de 2011 20:24
quarta-feira, 26 de janeiro de 2011 20:24 -
Anderson,
se a instalação for feita com os 2GB que você comentou, configure a memória de acordo com esse valor, não esquecendo que o SO, dependendo da versão, consome bastante memória. Eu diria que genrericamente, os novos Windows consomem 500MB de RAM
Eu consideraria também o seguinte:
1 - O Windows fornece aos processos do SO memória virtual, no entanto, se o consumo total for maior do que memória física, vai haver paginação, o que é ruim porque envolve I/O de disco que é muito mais lento que de memória RAM
2 - Caso aumente a quantidade de RAM para mais que 4GB e esteja usando máquina 32bits, usar o /AWE ou /PAE para aumentar memória disponível para processo de usuários. Caso use 64bits, o SO vai conseguir endereçar toda a memória sem problemas.
3 - Considere que na prática é difícil haver 20 usuários realizando ativiadades no servidor ao mesmo tempo. É mais importante saber a quantidade de conexões ativas e se há alguma específica consumindo muito recurso do servidor. Vale lembrar também que, independente de estar ativa ou não, cada conexão fica com memória alocada o tempo todo.
4 - Por fim, eu instalaria o SQL com os 2GB e faria um stress test com as aplicações que usarão bases no mesmo. Depois desta homologação, seria possível identificar quantidade de memória necessária.
Se a resposta resolveu sua questão ou problema, classifique-a para manter a qualidade do forum e a confiabilidade dos participantes.
Alex M. Bastos
http://bastosalex.spaces.live.comquinta-feira, 27 de janeiro de 2011 12:14 -
Ola experts,
Muito obrigado pelo feedback me ajudou bastante. Com essa suas respostas consigo visualizar e me precaver de gargalo.
Outra duvida,
Nesse servidor terei três instancias.
Meu servidor terá maximo de 16GB
Entao ficará assim:
SO = 2GB
SQL = 14 GB (isso inclui as 3 instancias ?)
Muito obrigado mais uma vez.
Anderson Muniz
Anderson Munizsexta-feira, 28 de janeiro de 2011 17:32 -
Olá Anderson,
Como havia mencionado no meu post anterior sua configuração para 3 instances de SQL ficaria assim (essa é Minha sugestão, mas você pode preparar este Neston do jeito que ahcar melhor =))
Servidor total -> 16GB
SO -> 4GB (É sempre bom lembrar que memoria para o SO também nunca é d+)
SQL -> 4GB (ou menos) Instance 01
SQL -> 4GB (ou menos) Instance 02
SQL -> 4GB (ou menos) Instance 03é mais que suficiente para suportar a quantidade de usuarios e as possíveis transações que eles irão executar em seu SQL
Tente utilizar uma ferramenta de Stress Test para determinar a melhor configuração para seu ambiente.
Atualmente existe uma ferramenta da Microsoft para SQL, mas é somente indicada para testar principalmente IO
How to use the SQLIOSim utility to simulate SQL Server activity on a disk subsystem - http://support.microsoft.com/kb/231619/en-usRecomendação: Experiência de Engenheiro de suporte Microsoft não deixe somente 2Gb para o seu sistema operacional para que seu sistema não seja victma de exaustão de recursos no futuro. O planejamento de uma instalação é a parte mais importe do projeto :)
Espero que ajude!!!
Fábio Oliveira Support Engieer | Microsoft Enterprise and Developer Supportsexta-feira, 28 de janeiro de 2011 17:56 -
Olá Fabio,
Muito obrigado pela informação.
Outra perguntinha, estou testando a aplicação, hoje tem somente 4 usuarios acessando a apliacação com somente 2GB de Memoria no servidor por enquanto (testes), e o servidor fica sem memoria disponivel e tem momentos que o servidor fica extremamente lento e algumas vezes a aplicação perde a comunicação com o servidor.
Pergunta, 4GB de memoria é suficiente ou depende de como foi feito a aplicação ou como está configurado o SQL SERVER 2005 ?
Obrigado mais uma vez.
Abraço,
Anderson Muniz
Anderson Munizsexta-feira, 28 de janeiro de 2011 18:47 -
Olá Anderson,
Olha só Performance de SO, SQL, Exchange, IIS(applications) é uma arte !!!
É preciso entender todo o processo para te responder está pergunta....
Como inicio posso te sugerir o seguinte:
1- Faça uma coleta de profile tracer enquanto efetua os testes e utilize o DTA para verificar se você consegue dar um tunning na sua base
2- Veja se você não possui outros softwares rodando no mesmo momento do teste ex.
a.) Anti-vírus (Este cara está sempre no limbo nunca no céu e nem no inferno... alguns aqui dizem que é como mulher: é dificil viver com elas, mas não dá pra viver sem :>)
b.) Veja se você não possui alguma ferramenta de monitoramento (SCCM, SCOM, Agent SMS, Qualquer outra ferramenta de monitoramento)3- Utilize PerfMon para monitorar o servidor durante os teste e tente identificar os possíveis "Gargalos" ... seu servidor pode estar sofrendo de um problema de IO
Até o momento ficamos discutindo neste post a disposição de memoria do seu servidor, mas em nenhum momento falamos de Discos e processadores
Veja o artigo:
Storage Top 10 Best Practices - http://technet.microsoft.com/en-us/library/cc966534.aspxArtigos Relacionados:
SQL Server Best Practices - http://msdn.microsoft.com/en-us/sqlserver/bb671432
Espero que ajude!!!
Fábio Oliveira Support Engieer | Microsoft Enterprise and Developer Support- Editado Fábio Oliveira - SQL Team segunda-feira, 31 de janeiro de 2011 12:20 update
segunda-feira, 31 de janeiro de 2011 12:19 -
Ola Fábio,
Obrigado pelo seu feedback. Na verdade o que acabou de falar, foi exatamente que eu passei o fim de semana, lendo, estudando. Baixei do site da Mcirosoft sobre tuning do S.O, SQL Server, monitoração e Best Practices.
Pelo jeito, vou perder os meus ultimos fios de cabelos rsrsrsrsrs.
Obrigado a todos.
Anderson
Anderson Munizsegunda-feira, 31 de janeiro de 2011 12:57 -
Experts,
Algumas informações adcionais, a empresa que trabalho é uma consultoria financeira, e temos a matriz como centro de operações onde teremos 10 usuarios acessando uma aplicação proprietaria e um sistema TOTVS RM + nossa filial onde atenderá o publico para cadastro e pesquisa tendo um total de 15 pessoas.
Em média teremos 14 pessoas acessando o servidor (SQL-Server) ao mesmo tempo.
Nesse servidor temos
- 3 Instancias
- Antivirus Gerenciamento
- Servidor de Arquivos
É um servidor x64 Bits, rodando Windows 2008 R2 Enterprise 64 Bits. Por enquanto tem somente um HD Sata 7.200 RPM de 750GB. Vamos colocar mais exatamente igual para fazer Raid-1.Estou monitorando o servidor usando Best Practices Microsoft.
Irei fazer um upgrade essa semana para 16GB de memoria máxima + 1 HD Sata para espelho. Mas ainda tenho uma preocupação em relação principalmente a aplicação proprietaria.
Valeu,
Anderson
Anderson Munizsegunda-feira, 31 de janeiro de 2011 13:47 -
Olá Anderson,
Recomendo que você siga as instruções do Storage Top 10 Best Practices - http://technet.microsoft.com/en-us/library/cc966534.aspx para não ter problemas com gargalos de Disco. O SQL server é um aplicativo com alto consumo de IO e portanto você deve tomar muito cuidado com a alocação dos arquivos de banco de dados para que eles não concorram entrs si e com outros aplicativos do SO.
Se quiser podemos discutir através do msn ... me passa seus dados.
Abraços,
Fábio Oliveira Support Engieer | Microsoft Enterprise and Developer Support- Marcado como Resposta Junior Galvão - MVPMVP, Moderator terça-feira, 5 de junho de 2018 17:54
segunda-feira, 31 de janeiro de 2011 13:57 -
Olá Anderson,
Recomendo que você siga as instruções do Storage Top 10 Best Practices - http://technet.microsoft.com/en-us/library/cc966534.aspx para não ter problemas com gargalos de Disco. O SQL server é um aplicativo com alto consumo de IO e portanto você deve tomar muito cuidado com a alocação dos arquivos de banco de dados para que eles não concorram entrs si e com outros aplicativos do SO.
Se quiser podemos discutir através do msn ... me passa seus dados.
Abraços,
Fábio Oliveira Support Engieer | Microsoft Enterprise and Developer SupportOla fabio, pow gostaria, meu msn andybr bol com br
Valeu pelos feedbacks. Me ajudaram bastante.
Anderson Muniz- Marcado como Resposta Junior Galvão - MVPMVP, Moderator terça-feira, 5 de junho de 2018 17:54
segunda-feira, 7 de fevereiro de 2011 15:46 -
Este post foi encerrado por ser considerado um post antigo.
Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
terça-feira, 5 de junho de 2018 17:54Moderador