256 ou 512 MB para um servidor da web

12

Estou planejando comprar um Raspberry Pi, um colega meu tem 256 MB restantes. Mas não sei se 256 MB de memória podem preencher as coisas que quero executar.

Eu quero executar um servidor web Apache (ou outro servidor web que use menos RAM e CPU) com PHP e MySQL, um servidor FTP e um proxy SOCKS 5. No servidor da web, eu vou executar:

  • um fórum Vbulletin com 8 usuários
  • Um jogo que estou desenvolvendo no momento.

Quando o jogo estiver pronto, eu poderia mover o fórum ou o jogo para outra framboesa quando estiver muito pesado. Estou mantendo o jogo o mais pequeno e rápido possível. Por exemplo: vou processar todos os trabalhos de atualização com C ++. Mas quando o jogo é grande o suficiente para ganhar dinheiro com ele, quero comprar um servidor normal, se isso aumentar o desempenho. Mas quero experimentar o Pi por um tempo.

Portanto, minha pergunta é: devo comprar um novo modelo B pi de 512 MB ou apenas comprar a versão b de 256 MB do meu colega?

Laurence
fonte

Respostas:

12

Não há uma resposta definitiva para isso, porque depende realmente de quanto desempenho você precisa, de quão complicado seu aplicativo seria etc.

É sempre melhor ter mais memória, apenas para estar seguro. Lembre-se de que você nunca terá 256 MB de RAM no Linux, o melhor que você pode obter é 240 MB, pois o restante será alocado à GPU (e você realmente deve usar essa divisão na sua carga de trabalho). 240MB não é muito, mas por outro lado, existem muitos provedores de serviços VPS que fornecem VPSes (que são servidores privados virtualizados) com 256MB de RAM e as pessoas executam sites muito grandes nessas máquinas, então é definitivamente possível.

Você pode definir um limite de memória disponível no site PHP e, em muitos serviços de hospedagem compartilhada, é definido entre 8 e 16 MB por site. E muitos aplicativos podem ser felizes com isso. O MySQL possui muitas opções de configuração que podem ser usadas para limitar o uso de memória e você pode executá-lo facilmente com 64 MB (ou até menos) de memória. O servidor da web Apache também não tem muita memória e existem alternativas ainda mais leves. Podemos pular o servidor FTP e SOCKS, pois eles ocupam uma quantidade muito pequena de memória (pelo menos quando usados ​​por apenas alguns usuários).

Portanto, o banco de dados é o maior problema aqui. Lembre-se de que quanto mais servidor de banco de dados de memória tiver, melhor será o desempenho (ele será usado principalmente para caches em E / S de disco segura). Em sites de alto tráfego, o servidor de banco de dados possui memória suficiente para manter (quase) todo o banco de dados na memória. Você provavelmente não precisará desse bom desempenho. O RaspberryPi não possui armazenamento muito rápido (é de 5 a 10 vezes mais lento que em computadores completos, mesmo sem RAID), portanto, seu desempenho será muito lento quando atingir o armazenamento. Continuando os VPS já mencionados - eles têm soluções de armazenamento muito mais rápidas na maioria dos casos, mas também compartilham esse armazenamento com muitos outros VPS (geralmente 16 ou 32), por isso muitas vezes não é melhor do que o do RaspberryPi. E, novamente, muitos sites são executados com facilidade nesses servidores.

Então, para resumir - você deve estar perfeitamente bem com 256 MB de RAM, mas precisará ajustar algumas opções de configuração para diminuir o uso de memória. Deve ser fácil encontrar alguns tutoriais sobre isso na Internet, especialmente ao procurar artigos sobre como otimizar o servidor para uso do VPS etc. Se você não planeja usar algo que precise de mais memória no futuro e possa economizar algum dinheiro comprando Versão de 256 MB do RaspberryPi, pode valer a pena. E você pode aprender algumas habilidades interessantes, como projetar seu aplicativo para que ele use menos memória ou configure seu sistema para precisar de menos memória. Essas habilidades podem valer a pena no futuro.

Krzysztof Adamski
fonte
Obrigado pela boa resposta. É realmente uma maneira muito boa de aprender a desenvolver boas aplicações. Muito obrigado. Eu vou pegar o 256. Encontrei muitos tutoriais para fazer isso: squidoo.com/optimizing-mysql-for-vps-dedicated-server wiki.vpslink.com/Low_memory_MySQL_/_Apache_configurations supportcenter.verio.com/KB/questions.php?questionid=267 serverfault .com / questions / 29126 /… my.opera.com/floweringmind/blog/…
Laurence
1
@ Laurence: Eu sei que é uma coisa óbvia, mas lembre-se de que é bom saber também por que você precisa alterar alguns valores e o que eles fazem se você realmente deseja aprender algo útil. Alguns dos valores são apenas copiados e colados de outros sites sem muita reflexão e podem não ser ideais para você.
precisa
Segundo @Laurence, o desenvolvimento em sistemas com recursos limitados pode ser uma boa prática. Eu costumava escrever software em plataformas com 64kB disponíveis para aplicação e 64kB para dados. Você ficaria surpreso com o que as pessoas poderiam fazer com isso. Até o antecessor do software de navegação TomTom foi escrito dentro desses limites. Atualmente, os desenvolvedores tendem a ficar preguiçosos, com enormes impressões digitais de memória como resultado. Eu usaria o modelo de 256 MB apenas como uma questão de limites forçados.
EDP