Disclaimer: Sonassi è un host Magento
TL; DR: un buon host ti dirà esattamente cosa ti serve (e lo giustifica). Non dovresti farlo tu stesso.
Quando un cliente si avvicina a noi, facciamo alcune domande per capire quali sono i requisiti attuali, i requisiti di picco e i requisiti futuri per il loro negozio. Quindi forniremo una raccomandazione su tale base.
Dato che ospitiamo migliaia di negozi Magento, abbiamo una comprensione abbastanza solida di esattamente quale infrastruttura è richiesta per un determinato insieme di requisiti dei clienti, quindi è abbastanza facile per noi dare una raccomandazione (e prevedere esattamente quali risorse verranno utilizzate) quando in realtà vanno in diretta.
Il dettaglio da notare qui è che, sebbene possiamo certamente dirti i requisiti per la nostra infrastruttura che gestisce MageStack - che quasi sicuramente non sarà esattamente la stessa di una configurazione altrove - quindi tienilo a mente.
Consenti a qualcun altro di dimensionare le tue esigenze
Negozio e catalogo
- Versione Magento?
- Numero di prodotti semplici nel catalogo?
- Numero di categorie nel catalogo?
- Numero di attributi nel catalogo?
- Numero di set di attributi nel catalogo?
- Numero di visualizzazioni negozio Magento (Ammin.> Sistema> Gestisci negozi)?
- Transazioni al giorno?
- Transazioni di picco in una sola ora?
Traffico e larghezza di banda
- Qual è il livello di visitatori unici giornalieri?
- Qual è la vetta più alta in una sola ora di visitatori unici?
- Numero di visualizzazioni di pagina per visitatore?
- Da quale paese provengono prevalentemente i visitatori?
- Prevedete il traffico del sito in crescita nei prossimi 12 mesi, se sì, di quanto?
- Gestisci campagne / newsletter ad alto traffico (che hanno un assorbimento significativo) su base regolare?
- Il tuo sito offre download digitali?
- Utilizzo attuale della larghezza di banda?
- È necessario un servizio di filtro dDOS?
Requisiti hardware
- Utilizzo attuale dello spazio su disco?
- È richiesta una memorizzazione dei log a lungo termine (conformità PCI-DSS)?
- È necessaria una memoria di backup off-site?
- Devi eseguire software specializzato / alternativo sul server?
- Le normative di conformità PCI dettano l'uso di un firewall hardware?
- Avete bisogno di una soluzione a tolleranza d'errore, altamente disponibile o bilanciata in base al carico?
Pratica di stadiazione / sviluppo
- Hai bisogno di un ambiente dedicato separato per la stadiazione / sviluppo?
- È necessario un ambiente "Test Live" per abbinare l'ambiente "Live" (per il test pre-live finale)?
bilancio
- Hai un budget mensile?
Quindi usando queste informazioni, inviale al tuo provider di hosting preferito e vedi cosa raccomandano.
Dimensionamento delle proprie esigenze
Come regola generale, è possibile
- Correlare direttamente i livelli di traffico ai requisiti della CPU
- Correlare direttamente i requisiti della CPU con i requisiti della RAM
- Correlare direttamente l'archiviazione MySQL ai requisiti della RAM
Selezione CPU
Prima di tutto ridimensiona il tuo traffico.
- Un negozio demo Magento standard è in grado di fornire circa 230 pezzi unici per GHz, all'ora.
- Un tipico negozio Web, con attività di utente amministratore, attività di sviluppo, aggiunta / eliminazione di prodotti può vedere questo degradare di circa il 100%, a 115 unità univoche per GHz, all'ora.
- Un negozio con un modello mal costruito / pesante può ridurre ulteriormente la cifra di un altro 100-200%, a 50 unici per GHz, all'ora.
Usando questi numeri, puoi capire esattamente ciò di cui hai bisogno in termini di risorse della CPU.
Per esempio. Se hai 4.025 visitatori unici al giorno sostenuti, hai bisogno di risorse CPU totali a 28 GHz (es. 8 core a 3,5 GHz o 12 core a 2,3 GHz)
L'altro dettaglio importante è la velocità della CPU, è possibile avere:
- Un tempo di caricamento della pagina lento e supporto di bassa concorrenza (CPU a bassa velocità di clock (GHz), pochi core)
- Un tempo di caricamento della pagina veloce, ma supporto a bassa concorrenza (CPU ad alta velocità di clock (GHz), pochi core)
- Un tempo di caricamento della pagina lento, ma supporto ad alta concorrenza (CPU a bassa velocità di clock (GHz), molti core)
- Un tempo di caricamento rapido della pagina e un supporto ad alta concorrenza (CPU ad alta velocità di clock (GHz), molti core)
Selezione RAM
Per un server autonomo (la migliore configurazione per Magento), la regola qui è 2 GB RAM / CPU Core. Quindi, se hai 8 core, allora 16 GB di RAM dovrebbero essere il minimo.
Per capire di cosa hai bisogno, oltre a questo, devi tener conto delle dimensioni del tuo catalogo. In questo modo è facile, moltiplica il numero di visualizzazioni del negozio per la dimensione totale del catalogo.
Per esempio. Nel tuo caso, 1 visualizzazione negozio * 10.000 prodotti = 10.000
La nostra raccomandazione è,
<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
Volete prendere il più alto dei due numeri (es. Dal core della CPU: rapporto RAM e requisiti di catalogo), o una combinazione sensata dei due.
Selezione HDD
Consente di chiarire qualcosa, per il negozio Magento medio (cioè <50.000 visitatori unici / giorno), Magento non è vincolato da I / O - gli SSD non renderanno il tuo negozio Magento più veloce; non migliorerà la concorrenza e non migliorerà il TTFB. Allo stesso modo, l'utilizzo di livelli RAID con striping (ad es. RAID10) non fornirà alcun vantaggio (poiché quasi tutti i file sul disco saranno comunque inferiori alle dimensioni dello stripe, quindi verrà utilizzato solo un singolo disco).
L'unica volta in cui l'archiviazione è un collo di bottiglia è sui servizi contesi (ad esempio cloud / VPS).
Tuttavia, ci sono sicuramente vantaggi nell'I / O veloce oltre l'operazione di memorizzazione stessa. Con gli SSD, le operazioni sui file (ad es. Stato Git / SVN, backup / ripristino, copia delle directory, ecc.) Sono notevolmente più veloci. La vita del tuo sviluppatore sarà sostanzialmente più semplice (con le attività di routine molto più veloci).
Si noti inoltre che non tutte le unità disco sono uguali.
- Gli SSD economici / desktop funzioneranno più lentamente degli HDD convenzionali
- Gli HDD economici / desktop funzioneranno più lentamente degli HDD aziendali
- Gli HDD economici / desktop avranno basse percentuali di NRE (in genere 10 ^ 14) rispetto ai dischi aziendali (in genere 10 ^ 16)
Quindi assicurati di scegliere effettivamente le unità disco che meritano di essere in un server, vale a dire. Intel DC S3700.
Scegliere la capacità è semplice, hai solo bisogno di due comandi,
Per la radice del 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/"
Per il database 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;
.
Chi scegliere
Bene, dipende da te. Non posso dare una raccomandazione [anche se sarebbe ovvio :)] - ma puoi certamente esprimere la tua opinione,
- Se hanno l'hardware adatto ai tuoi requisiti minimi
- Se hanno una solida eredità / reputazione in Magento (cioè partecipano a siti come questo e dimostrano esperienza nel mondo reale)
- Se sono in grado di fornire una dimostrazione del tuo negozio, sul loro hosting (ad es. In modo da poter vedere esattamente come si comporta)
- Se riescono a rispondere a tutte le tue domande su Magento (es. Prova a testarle con le domande che hai avuto in passato e vedi come rispondono)
- Se il loro prezzo corrisponde al tuo budget
- Assicurati che il loro supporto corrisponda alle tue aspettative (es. Sei disposto a fare tu stesso tutta la dovuta diligenza prima di contattare l'assistenza, o hai un'aspettativa che possano eseguire il debug dei tuoi problemi Magento per tuo conto)
- Assicurati che lo scopo delle opere incluse corrisponda alle tue esigenze (es. Completamente gestito, bare metal ecc.)
- Se la soluzione è scalabile (ovvero è una piattaforma a server singolo, può essere scalata per essere una soluzione multi-server).
- Se la soluzione include tutto il software necessario per il tuo negozio Magento (ad es. ElasticSearch / Sphinx / SOLR, Redis / Memcache, Varnish ecc.)
C'è qualcosa da aggiungere qui, otterrai due tipi di host
- Gestito (ad es. Dove il server è completamente configurato e curato)
- Non gestito (ad es. Dove hai impostato tu stesso l'intero server)
Qual è il più appropriato per te dipende davvero dal tuo skillset. Secondo la mia sincera opinione, gli sviluppatori non sono amministratori di sistema - solo perché si può eseguire apt-get install nginx
- non ti rende un amministratore di sistema esperto. Altrimenti qualsiasi proprietario di negozio che potrebbe usare Magento Connect potrebbe classificarsi come sviluppatore!
Comprendere il proprio ruolo (e limitazioni) come sviluppatore e lasciare che qualcuno con la giusta esperienza nella gestione del server ha un valore estremo. Chiunque può installare una serie di pacchetti, ma ottimizzare la configurazione del software, assicurando che sia stabile, privo di bug, sicuro e ad alte prestazioni è una cosa completamente diversa.
Consiglierei sempre e comunque l'intero percorso fai-da-te a persone che hanno una grande esperienza di configurazione del server Magento, che hanno già implementato migliaia di server, con configurazioni collaudate e stabili. Altrimenti, vai con un host Magento gestito che sa cosa stanno facendo e ti consente di fare il tuo lavoro ininterrottamente.
fonti: