Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.

Recommended Posts

Oi Pessoal do forum,

Estou presisando da ajuda de vocês em uma questao, primeira deixe-me explicar.

Tem um cliente meu que tem um servidor com a seguinte configuração:

P4 3.0 775 2mb cache

MB Intel D101gggc

2x512mb ddr 400

HD sata 80gb

Aplicacoes: Windows 2003 Server, SQL Server 2000, servidor de arquivos e WAMP.

Agora o problema quando montei essa configuração para o cliente nao era usado o sql tinha um banco de dados em interbase(Firebird) de 60MB no momento esse banco de dados tem 500MB e tem outro de 100MB e o servidor ta ficando muito lento esta semana chegou ao ponto de ter de reinicialo. No taskmgr o consumo de memoria do sql server é de 550MB +ou- . A minha duvida e a seguinte preciso de resolver este problema com urgencia nessa maquina nao tem mais como expandir memoria (A nao ser comprando 2x1GB mas acho que nao vale a pena) o que é melhor comprar um servidor parrudo ou comprar um mais fraco e dividir as aplicaçoes entre os dois servidore?

Agradeco desde ja qualquer opinião.

Att,

Frederico Nogueira

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acredito que seja melhor comprar um servidor mais parrudo...

A necessidade de seu cliente vai continuar evoluindo com o tempo, e novas soluções mais potentes vão ser requeridas...

Pense no seguinte:

1) O que realmente está causando o gasto excessivo de memória, um aumento brutal no número de acessos ao sql, ou o tamanho do banco de dados?

2) se aumentar o número de servidores, o incremento no consumo elétrico não acabará pagando um servidor mais parrudo não?

3) Se colocar mais um servidor você não terá menos desempenho do que comprando um servidor mais forte não?

4) A depender do que realmente está causando a lentidão, soluções de acesso a disco ou mais memória podem resolver o seu problema com um investimento muitíssimo menor a longo prazo. Você falou do consumo de memória, mas como está a ocupação do processador e o acesso a disco?

Pelo que sei, a vantagem de se usar um Xeon ou um opteron nos servidores está na capacidade melhor destes processadores em lidar com múltiplas entradas e saídas de dados. Um barramento externo muito superior e uma capacidade de divisão de tarefas com processadores associados, muito maior que em processadores desktop. A característica de um servidor é justamente atender a múltiplas requisições o tempo todo, enquanto um desktop é idealizado para atender a apenas um único usuário. Aí, o que acho que resolve melhor a vida de seu cliente é ter mais memória, um processador próprio para servidor e discos de alta velocidade de acesso.

Vamos especular um pouquinho:

Vou ser sincero. Não entendo muito de servidores e tal... Aí pergunto: Não sei como esses programas específicos funcionam... Eles têm capacidade para divisão das tarefas em ambiente de rede por processamento distribuido? Se tiverem, o banco de dados tem que ficar em apenas um dos servidores, dividido tipo, metade em um servidor e metade no outro, ou espelhado nos dois servidores?

Pelo que entendo, assim leigamente, se o banco de dados ficar espelhado (repetido) nos dois servidores, a única vantagem que você ganha é redução do número de acesso a cada um dos servidores. Se o número de acesso dobrar com o tempo, você terá novamente dois servidores ultrapassados e lentos, que não aguentarão a tarefa, e provavelmente consumindo mais energia elétrica que um servidor mais forte, sozinho. Mas cada servidor continuará a consumir o mesmo tanto de memória que atualmente, com relação ao tamanho do banco de dados em disco.

Se o banco de dados ficar em apenas 1 dos servidores, ele não irá gastar a memória do mesmo jeito que gasta agora? Porque ele sozinho continuará tendo que responder às solicitações feitas a ambos...

Se o banco de dados ficar dividido, imagino que em certas situações um computador tenha que realizar queries no outro servidor, para dar resposta a uma dada demanda surgida, o que pode ainda piorar mais as coisas por gerar tráfego entre servidores e ocupar seus processamentos com operações antes desnecessárias.

Tá, as duas últimas alternativas parecem pouco lógicas de serem implementadas. Lembro, entretanto, que no caso da primeira, digamos, mesmo com processamento compartilhado, você não teria o mesmo desempenho nesses dois servidores, que vocÊ teria com 1 com o dobro da capacidade, pois imagino que num sistema em que dois servidores espelham o mesmo dado, comunicações devam ser trocadas entre eles para manter as bases de dados em sincronia, o que exigiria mais uma vez processamento para tarefas extras.

Uma última alternativa que eu imagino seria usar um storage para manter a base de dados, e os dois servidores acessando ela independentemente. Isso eu acho que livraria bem mesmo a questão dos acessos a cada um dos servidores, sem causar aumento no número de tarefas realizadas entre eles. Mas aí você teria apenas 1 fonte de dados, sendo exigida pelos dois servidores, o que pode deixar o acesso a disco prejudicado. E neste caso, ainda restaria saber se é o número excessivo de acessos ou se é o tamanho da base de dados que ocupa tanta memória a ponto de deixar o servidor lento... Não acredito que seja o tamanho do banco de dados que está deixando a memória muito cheia. Acredito que o banco de dados só acessa aquilo que está sendo requerido. A menos que ele faça algum buffer ou armazene algum índice na memória RAM para acelerar os queries e reduzir os tempos de busca, o que é bem possível! Mas se muita coisa for requerida de uma vez só, aí ele comerá a memória e o processamento de forma a tudo ficar pesado... Como evoluiu o número de acessos ao servidor de seu cliente, em relação ao tamanho do banco de dados? Você tem alguma estatística dos acessos?

O tamanho do banco de dados em disco, pelo que entendo, causa problema de lentidão sim na hora da busca a um dado. Se o acesso a disco for insuficiente para a tarefa, aí o servidor fica lento... Daí a usar-se discos de 10.000 ou mais RPMs, interfaces SCSI e SAS, etc. etc. em servidores, não é?!

Possoestar ignorando várias variáveis aqui, mas acredito que você deve pensar nesses aspectos antes de decidir o que realmente seu cliente precisa...

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • qarcanjo, bem vamos por partes,

    1 - O numero de acessos teve um certo aumento pois algumas tarefas passaram a ser feitas pelo sistema. O numero de estacoes nao teve crescimento sao 12 no momento.

    2 - O consumo da CPU nao esta no limite mas ja ta chegando la. Acredito que meu problema maior seja a questao do desempenho de disco. SAS seria uma boa solucao porém o preco ainda esta fora de cogitacao.

    3 - Meu cliente nao tem interesse de fazer um investimento alto em infra no momento então infelizmente o Xeon esta fora de cogitacao.

    A historia agora e seguinte: Alem de melhorar o servidor a gente tem que comprar mais uma estacao então eu tenho duas opções ou comprar uma "Servidor" mais parrudo e passar o servidor atual pra estacao ou comprar um razoavel e manter 2 servidores. No caso o que eu pensei era deixa um servidor dedicado pra SQL e deixar este antigo so pra servidor de arquivos e WAMP.

    Minhas opções seriam a seguinte:

    "Servidor" Parrudo

    CORE 2 DUO E6750 2.66 GHZ

    2 X 80GB SATA II SEAGATE

    2GB MEMORIA KING

    MOBO INTEL

    ETC

    "Servidor" Razoavel

    CORE 2 DUO E4400

    2 X 80GB SATA II SEAGATE

    2GB MEMORIA KING

    MOBO INTEL

    ETC

    Desculpe-me a falta de acentos preguica de arrumar o teclado hehehehe

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    É, com um servidor prestando um serviço e o outro outro, he he! Só que você não poderia assim colocar uma estação de trabalho extra. E não dá para usar a estação como servidor simultâneamente, pois além de arriscado para os dados e estabilidade do servidor, pode ocupar muito o processamento, né!

    Se o processamento não tá sendo um problema sério por enquanto, qualquer core 2 duo que você pegar já vai ser um incremento muito grande em relação ao Pentium 4. A simples mudança de arquitetura já dá um up... Depois, o fato de ser dois núcleos pode ainda ajudar mais, a depender do uso de multiprocessamento do SQL Server.

    Para servidor de arquivos, as soluções de storage pequenas que eu vejo por aí são bem pouco exigentes em termos de processamento. Veja esse exemplo: http://www.noli.com.br/sistema/ListaProdutos.asp?IDLoja=1235&Y=2957784212807&cch=4112855825194&IDCategoria=29956

    Com um processador de 400Mhz e 256Mb de RAM, esse storage propõe dar conta de uma pequena rede para o fornecimento de arquivos usando até 4 discos SATA ligados em RAID 0 ou 1...

    Isto mostra que no quesito servidor de arquivos, o que precisamos mesmo é de bons discos.

    Já no caso do SQL server, o que parece estar pegando é o uso de memória ou o acesso a disco... O RAID te ajuda a dar conta do problema de disco, e o aumento de memória de 1 para 2 Gb (e some aí a mudança de DDR400 para DDR2 667 ou 800 como mais um acréscimo de desempenho) facilita ainda mais sua vida... Se o processamento não é crítico, e você disse que de 1Gb de RAM disponível no servidor atual, o sql server tá comendo cerca de 550MB, então não parece ser a memória ou o processador o problema. Até porque não sei se o servidor parrudo está tão mais parrudo assim que o razoável, para justificar o investimento extra em processador.

    Antes de tentar dar uma uma opinião, eu gostaria que você respondesse mais uma coisa: O servidor fica fazendo muito cache de disco (usando muita memória virtual) enquanto é exigido?

    Se sim, experimente desligar a memória virtual e ver como o servidor se comportará. Dê uma "carga" ou seja, exija dele em um teste para ver se ele ficará lento, ou se o sql server travará. (Faça um back-up do banco de dados antes, só por segurança... Acho que não precisa dizer, né!)

    Se isso melhorar a situação, te diz muito sobre o que realmente tá pegando, se é insuficiência de acesso a disco, ou se é pouca memória RAM. Se travar o sql server, tá faltando RAM feio mesmo, porque quando procedemos como falei, a memória que iria para memória virtual fica toda na RAM, aumentando o consumo de RAM violentamente. Se não mudar nada, estaria faltando velocidade de disco, porque teríamos eliminado o excesso de cache de disco causado por insuficiência de memória, como causador da lentidão, e a falta de memória também estaria descartada já que mesmo sem memória virtual o servidor permaneceu de pé. Veja que como pressuposto, o problema do processador estar fraco para a demanda já está eliminado. Se melhorar, é o cache de disco da memória virtual que tá fazendo a máquina ficar muito lenta enquanto as trocas de informações são realizadas entre disco rígido e RAM, e mais memória melhoraria a situação.

    Como ambos os servidores irão acrescentar muito a você em termos de processamento, a depender da resposta da questão anterior, ou você deve pegar o servidor razoável e adotar um RAID mais agressivo, com um disco extra em raid desempenho, ou aumentar a quantidade de RAM. (Se bem que você acabaria pegando apenas mais 1 GB, e aí dual channel esquece, né! Mas tem horas que quantidade é mais importante que velocidade...) Já pegar o processador mais forte faria pouco sentido. (isso na minha opinião!)

    E as estações serão usadas para quê? Pelo jeito que você falou, o servidor atual é bem suficiente para o trabalho requerido, né?!

    Aí, acho que mesmo pegando o servidor razoável, desde que turbinado de outra forma que não processador, você teria como colocar o servidor velho como estação de trabalho, tirando aí uma solução completa e econômica.^_^

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Opa deixa me explicar melhor, nao estou pensando em usar o servidor como servidor e estacao ao mesmo tempo a questao era ou pegar um servidor melhor e passar o antigo para estacao ou adquirir um servidor mais leve e pegar mais um celeron da vida pra estacao. Eu dei uma olhada na questao do preco ia dar mais ou menos o mesmo valor.

    Quanto aos testes vou tentar fazer eles hoje dai eu passo o resultado.

    Quanto ao raid acho que disso eu nao vou ter como fugir o problema que este servidor atual nao tem suporte a raid. você sabe me dizer se o cache do processador faz muita diferenca para este tipo de aplicacao?

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    você sabe me dizer se o cache do processador faz muita diferenca para este tipo de aplicacao?

    Isso não façõ ideia...

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Eu como leigo, nessa nossa conversa bastante especulativa, he he, será que consegui ajudar em algo?

    Eu também estou vivendo uma dúvida nesse sentido, procurei ajuda no fórum e não obtive resposta alguma. Parece que estamos sozinhos nessa parada de servidores por aqui!

    Eu tava vendo a possibilidade de implementar um storage server para o setor de geoprocessamento da repartição em que trabalho... Algo com capacidade em torno de 1TB ligado em RAID 1 para servir de back-up e storage ao mesmo tempo...

    Primeiro, fico receoso de ao usar o back-up deixar o storage indisponível por tráfego de rede.

    Segundo, não sei se um storage como aquele que citei ali, da Noli, com 4 discos de 500GB espelhados 2 a 2 daria conta dos 23 computadores que preciso manter.

    Terceiro, não temos rede gigabit implementada no prédio, e não sei se eu teria como conseguir uma ligação gigabit com o servidor principal da rede.

    Então estou cá imaginando que teria que implementar um servidor exclusivo para back-up e outro para storage, né!

    Vivo ainda um outro problema que é: Se coloco um PC completo para servidor de back-up ou storage, alguém acabará colocando um técnico para usá-lo como estação de trabalho. 8o

    Mas o orçamento de que disponho é muito limitado para a tarefa. Quando falei num servidor de R$4000,00 minha chefe de setor arregalou os olhos e riu! Bom, com 1TB, aquele storage de NOLI vais custar os R$4000,00... Só ele!

    Você tem alguma sugestão?

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites





    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×