Disclaimer: Sonassi é um anfitrião Magento
TL; DR - Um bom host irá lhe dizer exatamente o que você precisa (e justificar). Você não deveria estar fazendo isso sozinho.
Quando um cliente se aproxima de nós, fazemos algumas perguntas para entender quais são os requisitos atuais, os requisitos de pico e os requisitos futuros para sua loja. Em seguida, forneceremos uma recomendação nessa base.
Dado que hospedamos milhares de lojas Magento, temos um entendimento bastante sólido de exatamente qual infraestrutura é necessária para um determinado conjunto de requisitos do cliente, por isso é muito fácil dar uma recomendação (e prever exatamente quais recursos serão usados) quando eles realmente vão viver.
O detalhe a ser observado aqui é que, embora certamente possamos lhe dizer os requisitos para nossa própria infraestrutura executando o MageStack - que quase certamente não será exatamente o mesmo que uma instalação em outro lugar -, tenha isso em mente.
Deixe alguém dimensionar suas necessidades
Loja e Catálogo
- Versão Magento?
- Número de produtos simples no catálogo?
- Número de categorias no catálogo?
- Número de atributos no catálogo?
- Número de conjuntos de atributos no catálogo?
- Número de visualizações da loja Magento (Admin> Sistema> Gerenciar lojas)?
- Transações por dia?
- Transações de pico em uma única hora?
Tráfego e largura de banda
- Qual é o nível de visitantes únicos diários?
- Qual é o pico mais alto em uma única hora de visitantes únicos?
- Número de visualizações de página por visitante?
- De que país são predominantemente os visitantes?
- Você prevê que o tráfego do site cresça nos próximos 12 meses? Em caso afirmativo, em quanto?
- Você opera regularmente campanhas / boletins de alto tráfego (que têm uma aceitação significativa)?
- O seu site oferece downloads digitais?
- Uso atual de largura de banda?
- Você precisa de um serviço de filtragem de dDOS?
Requisitos de hardware
- Uso atual de espaço em disco?
- Você precisa de armazenamento de log de longo prazo (conformidade com PCI-DSS)?
- Você precisa de armazenamento de backup externo?
- Você precisa executar algum software alternativo / especialista no servidor?
- Seus regulamentos de conformidade com o PCI determinam o uso de um firewall de hardware?
- Você precisa de uma solução tolerante a falhas, altamente disponível ou com balanceamento de carga?
Estágio / Prática de Desenvolvimento
- Você precisa de um ambiente dedicado separado para preparação / desenvolvimento?
- Você precisa de um ambiente "Test Live" para corresponder ao ambiente "Live" (para testes pré-live finais)?
Despesas
- Você tem um orçamento mensal?
Em seguida, usando essas informações, envie-as ao seu provedor de hospedagem preferido e veja o que eles recomendam.
Dimensionando seus próprios requisitos
Como regra geral, é possível
- Correlacione diretamente seus níveis de tráfego com os requisitos de CPU
- Correlacione diretamente seus requisitos de CPU com os requisitos de RAM
- Correlacione diretamente seu armazenamento MySQL com os requisitos de RAM
Seleção de CPU
Primeiro comece avaliando seu tráfego.
- Uma loja de demonstração padrão do Magento é capaz de fornecer cerca de 230 únicos por GHz, por hora.
- Uma loja virtual típica, com atividade de usuário administrador, atividade de desenvolvimento, adição / exclusão de produtos, pode ver esse declínio em cerca de 100%, para 115 únicos por GHz, por hora.
- Uma loja com um modelo pesado / mal construído pode reduzir ainda mais o número em outros 100-200%, para 50 únicos por GHz, por hora.
Usando esses números, você pode descobrir exatamente o que precisa em termos de recursos da CPU.
Por exemplo. Se você possui 4.025 visitantes únicos / dia, você precisa de um recurso total de CPU de 28 GHz (ou seja, 8 núcleos a 3,5 GHz ou 12 núcleos a 2,3 GHz)
O outro detalhe importante é a velocidade da CPU, é possível ter:
- Tempo de carregamento de página lento e suporte a baixa concorrência (CPU de baixa velocidade de clock (GHz), poucos núcleos)
- Um tempo de carregamento de página rápido, mas suporte para baixa simultaneidade (CPU de alta velocidade de clock (GHz), poucos núcleos)
- Um tempo de carregamento de página lento, mas suporte para alta simultaneidade (CPU de baixa velocidade de clock (GHz), muitos núcleos)
- Tempo de carregamento de página rápido e suporte a alta simultaneidade (CPU de alta velocidade de clock (GHz), muitos núcleos)
Seleção de RAM
Para um servidor independente (a melhor configuração para o Magento), a regra aqui é 2 GB de RAM / CPU Core. Portanto, se você tiver 8 núcleos, 16 GB de RAM devem ser o mínimo.
Para descobrir o que você precisa, além disso, é necessário levar em consideração o tamanho do seu catálogo. Isso é fácil, multiplique o número de visualizações da loja pelo tamanho total do catálogo.
Por exemplo. No seu caso, 1 visualização da loja * 10.000 produtos = 10.000
Nossa recomendação é,
<1,000 = 8GB RAM
<50,000 = 16GB RAM
<100,000 = 32GB RAM
<100,000 = 32GB RAM
<250,000 = 48GB RAM
<500,000 = 64GB RAM
<750,000 = 96GB RAM
>999,999 = 128GB RAM
Você deseja obter o maior dos dois números (ou seja, a partir da CPU Core: taxa de RAM e requisitos de catálogo) ou uma combinação sensata dos dois.
Seleção de HDD
Vamos deixar algo claro, para a loja média do Magento (ou seja, <50k visitantes únicos / dia), o Magento não é vinculado por E / S - SSDs não tornarão sua loja Magento mais rápida; não melhorará a simultaneidade nem o TTFB. Da mesma forma, o uso de níveis de RAID distribuídos (por exemplo, RAID10) também não oferece vantagens (já que quase todos os arquivos em disco serão menores que o tamanho da faixa, de modo que apenas um único disco será usado).
O único momento em que o armazenamento é um gargalo é nos serviços disputados (por exemplo, nuvem / VPS).
No entanto, certamente existem vantagens em acelerar a E / S além da operação da loja. Com SSDs, as operações de arquivo (por exemplo, status Git / SVN, backup / restauração, cópia de diretórios etc.) são substancialmente mais rápidas. A vida do seu desenvolvedor será substancialmente mais fácil (com tarefas de rotina muito mais rápidas).
Observe também que nem todas as unidades de disco são criadas da mesma forma.
- SSDs baratos / para desktops terão desempenho mais lento que os HDDs convencionais
- HDDs baratos / para desktops terão desempenho mais lento que os HDDs empresariais
- Os HDDs baratos / de desktop terão taxas baixas de NRE (geralmente 10 ^ 14) em comparação com os discos da empresa (geralmente 10 ^ 16)
Portanto, certifique-se de escolher as unidades de disco que merecem estar em um servidor, ou seja. o Intel DC S3700.
A capacidade de escolha é fácil, você só precisa de dois comandos,
Para a raiz do documento Magento
cd /path/to/magento/installation
du -hsL . \
--exclude="/var/log" \
--exclude="/var/session" \
--exclude="/var/cache" \
--exclude="/var/full_page_cache" \
--exclude="/var/report" \
--exclude="/var/tmp" \
--exclude="/includes/src/"
Para o banco de dados MySQL
SELECT
IFNULL(B.engine,'Total') "Storage Engine", CONCAT(LPAD(REPLACE(FORMAT(B.DSize/POWER(1024,pw),3),',',''),17,' '),' ',SUBSTR(' KMGTP',pw+1,1),'B') "Data Size", CONCAT(LPAD(REPLACE(FORMAT(B.ISize/POWER(1024,pw),3),',',''),17,' '),' ',SUBSTR(' KMGTP',pw+1,1),'B') "Index Size", CONCAT(LPAD(REPLACE(FORMAT(B.TSize/POWER(1024,pw),3),',',''),17,' '),' ',SUBSTR(' KMGTP',pw+1,1),'B') "Table Size" FROM (SELECT engine,SUM(data_length) DSize,SUM(index_length) ISize,SUM(data_length+index_length) TSize
FROM information_schema.tables
WHERE table_schema NOT IN ('mysql','information_schema','performance_schema')
AND engine IS NOT NULL
GROUP BY engine
WITH ROLLUP) B,(SELECT 3 pw) A
ORDER BY TSize;
.
Quem escolher
Bem, isso é com você. Não posso fazer uma recomendação [embora seja óbvio :)] - mas você certamente pode formar sua própria opinião,
- Se eles tiverem o hardware para atender aos seus requisitos mínimos
- Se eles têm uma sólida herança / reputação no Magento (por exemplo, participando de sites como este e demonstrando experiência no mundo real)
- Se eles puderem fornecer uma demonstração da sua loja, na hospedagem deles (por exemplo, para que você possa ver exatamente como ela funciona)
- Se eles puderem responder a todas e quaisquer perguntas relacionadas ao Magento (por exemplo, tente testá-las com perguntas que você já teve no passado e veja como elas respondem)
- Se os preços deles corresponderem ao seu orçamento
- Garanta que o suporte deles corresponda às suas expectativas (ou seja, você está disposto a fazer toda a diligência antes de entrar em contato com o suporte ou tem uma expectativa de que eles possam depurar os problemas do Magento em seu nome)
- Verifique se o escopo dos trabalhos incluídos corresponde às suas necessidades (por exemplo, totalmente gerenciado, bare metal etc.)
- Se a solução for escalável (ou seja, é a plataforma de servidor único - ela pode ser dimensionada para ser uma solução para vários servidores).
- Se a solução apresentar todo o software necessário para sua loja Magento (por exemplo: ElasticSearch / Sphinx / SOLR, Redis / Memcache, Verniz, etc.)
Há algo a acrescentar aqui, você terá dois tipos de hosts
- Gerenciado (por exemplo, onde o servidor está completamente configurado e cuidado)
- Não gerenciado (por exemplo, onde você mesmo configura o servidor inteiro)
O que é mais apropriado para você realmente depende do seu conjunto de habilidades. Na minha opinião sincera, os desenvolvedores não são administradores de sistema - apenas porque você pode executar apt-get install nginx
- isso não faz de você um administrador de sistemas experiente. Caso contrário, qualquer dono de loja que possa usar o Magento Connect poderá se classificar como desenvolvedor!
Compreender sua função (e limitações) como desenvolvedor e permitir que alguém com experiência adequada no gerenciamento do servidor tenha um valor extremo. Qualquer pessoa pode instalar uma série de pacotes, mas ajustar a configuração do software, garantindo que seja estável, sem erros, seguro e com alto desempenho, é uma coisa completamente diferente.
Eu recomendaria apenas toda a rota DIY para pessoas que têm uma enorme experiência em configuração de servidores Magento, que já implantaram milhares de servidores antes, com configurações testadas e estáveis conhecidas. Caso contrário, vá com um host Magento gerenciado que saiba o que está fazendo e permita que você faça seu trabalho sem interrupções.
Fontes: