Qual devo colocar na minha máquina maior? Magento Webserver do Magento Database?

2

Estou prestes a lançar um novo site do Magento e estou interessado em seu feedback sobre esse assunto? Você acha que o código PHP do Magento é mais lento ou as operações do Magento no MySQL são mais lentas? Qual dos dois servidores eu deveria dividir?

    
por jscott 25.04.2011 / 16:23

4 respostas

4

Nossa experiência: Nós só hospedamos lojas Magento.

Infelizmente, é um equívoco muito comum com o Magento que você deve usar um servidor de banco de dados separado, e pior, que você deve usar seu servidor mais poderoso como o servidor de banco de dados.

A menos que você esteja em uma configuração de cluster com vários servidores da Web, nunca defendemos o uso de um servidor de banco de dados separado para o Magento.

Vou fazer o backup com as últimas estatísticas de alguns servidores.

Eu tirei a média de carga de um pequeno site do Magento (4.000 visitantes únicos por dia). Você pode ver por si mesmo que o servidor de banco de dados separado usa muito pouca CPU e recursos em geral. Na verdade, a única coisa que requer é muita memória RAM.

O MySQL é absolutamente não o gargalo para qualquer instalação do Magento. Mas se você precisar usar dois servidores ...

... Eu vou fornecer essa recomendação com base em seu site tem cerca de 10.000 visitantes únicos diários. MAS para uma resposta precisa, você deve postar:

  1. Seu nível desejado de tráfego, visitas, hits
  2. Suas especificações completas de servidor

Para o seu servidor da web

  1. Você quer o maior número de CPUs possível (quanto mais núcleos, maior o suporte a simultaneidade - quanto mais rápida a velocidade do clock, mais rápido o tempo de carregamento da página)
  2. Você precisa de uma quantidade proporcional de RAM para a CPU, geralmente 1 GB por núcleo é um bom guia
  3. E / S não é um problema, então discos RAID1 7200RPM + serão suficientes (WD RE4 ou WD 3000 HLFS)

Para o seu servidor de banco de dados

  1. Você não precisa de muitos núcleos, dual core seria mais que suficiente. Mas, novamente, quanto maior a velocidade do clock, mais rápidas as consultas individuais.
  2. Você quer o máximo de RAM possível. O Magento usa o InnoDB e o InnoDB implora que a RAM funcione bem.
  3. E / S e IOPS gerais fazem / quebram um servidor de banco de dados - assim você quer uma configuração rápida de disco, mas para um armazenamento de visitante 10k, os discos RAID1 7200RPM + serão suficientes (WD RE4 ou WD 3000 HLFS). >

Você também pode balancear a carga entre o tráfego da web entre os dois servidores, mas a configuração para isso está muito além do escopo desta resposta.

Carregamentodoservidordebancodedados

Carregamento do servidor da Web

    
por 09.03.2012 / 01:39
2

Tendo que devolver o memory_limit do php até 512MB para certos processos rodarem, eu observei cada processo do Apache carregado essencialmente com memória de bug. Você aprenderá a descartar o mod_php5 rapidamente, pois transformar seus serviços da web Apache em intérpretes PHP não é o melhor uso de recursos. Sob o FastCGI, você pode executar o Apache WorkerMPM retornando-o para servir o html, o que faz melhor, enquanto o FastCGI executa o interpretador do PHP como um processo separado. Além disso, você precisará de algum tipo de cache de opcode. Seu primeiro servidor mais rápido otimizado para uso de memória e CPU precisa ser seu servidor Web / PHP. Seu servidor secundário otimizado para E / S de disco rápido é onde você executa os serviços MySQL.

É comum que dois sistemas de servidor executem um sistema quad core com memória de 12 GB + para o servidor da Web e um sistema de dois núcleos com 8 GB + e um subsistema de disco rápido para o servidor de banco de dados.

    
por 25.04.2011 / 21:50
0

Eu acho que é uma idéia melhor colocar o banco de dados no servidor maior, porque se você tiver um site não-trivial (que requer vários servidores), então você colocará muita carga no banco de dados, procurando por coisa. E certamente essa carga será um gargalo maior do que a análise de arquivos php.

    
por 25.04.2011 / 16:25
0

Acredito que geralmente é melhor colocar o banco de dados em um servidor maior e mais poderoso.

O motivo é que é muito mais fácil mover o aplicativo para outro servidor sem tempo de inatividade. Há muito mais fácil e eficaz para escalar a própria aplicação. Dois servidores de aplicativos com balanceamento de carga propenso a você aumentam quase 2 vezes, enquanto que com o banco de dados você nunca obterá tais valores e será forçado a reproduzir com replicação e / ou sharding, o que é muito mais difícil do que configurar o balanceador de carga http.

Assim, se o aplicativo crescer, use o melhor servidor de banco de dados do que você pode pagar agora - isso daria mais tempo antes de você precisar mover / dimensionar o banco de dados, o que é mais difícil de mover / dimensionar aplicativos / servidores http.

    
por 26.04.2011 / 14:09

Tags