Haftungsausschluss: Sonassi ist ein Magento-Host
TL; DR - Ein guter Gastgeber wird Ihnen genau sagen, was Sie brauchen (und es begründen). Du solltest das nicht selbst machen.
Wenn sich ein Kunde an uns wendet, stellen wir einige Fragen, um zu verstehen, welche aktuellen Anforderungen, Spitzenanforderungen und zukünftigen Anforderungen an sein Geschäft gestellt werden. Dann geben wir Ihnen auf dieser Basis eine Empfehlung.
Angesichts der Tatsache, dass wir Tausende von Magento-Filialen hosten, wissen wir ziemlich genau, welche Infrastruktur für einen bestimmten Satz von Kundenanforderungen erforderlich ist. Daher ist es für uns ziemlich einfach, eine Empfehlung abzugeben (und vorherzusagen, wann genau welche Ressourcen verwendet werden) Sie gehen tatsächlich live.
Das Detail, das Sie hier beachten müssen, ist, dass wir Ihnen zwar die Anforderungen für unsere eigene Infrastruktur mit MageStack mitteilen können, diese jedoch mit ziemlicher Sicherheit nicht mit denen eines anderen Unternehmens identisch sind. Denken Sie also daran.
Lassen Sie Ihre Anforderungen von einer anderen Person einschätzen
Laden und Katalog
- Magento-Version?
- Anzahl einfacher Produkte im Katalog?
- Anzahl der Kategorien im Katalog?
- Anzahl der Attribute im Katalog?
- Anzahl der Attributmengen im Katalog?
- Anzahl der Magento Store Views (Admin> System> Stores verwalten)?
- Transaktionen pro Tag?
- Spitzentransaktionen in einer Stunde?
Verkehr und Bandbreite
- Wie hoch sind die täglichen Besucherzahlen?
- Was ist der höchste Gipfel in einer Stunde einzigartiger Besucher?
- Anzahl der Seitenaufrufe pro Besucher?
- Aus welchem Land kommen die Besucher überwiegend?
- Gehen Sie davon aus, dass der Site-Traffic in den nächsten 12 Monaten um wie viel ansteigen wird?
- Führen Sie regelmäßig hochfrequentierte Kampagnen / Newsletter durch (die eine hohe Akzeptanz haben)?
- Bietet Ihre Site digitale Downloads an?
- Aktuelle Bandbreitennutzung?
- Benötigen Sie einen dDOS-Filterdienst?
Hardware-Anforderungen
- Aktuelle Speicherplatznutzung?
- Benötigen Sie eine langfristige Protokollspeicherung (PCI-DSS-Konformität)?
- Benötigen Sie einen externen Backup-Speicher?
- Müssen Sie eine spezielle / alternative Software auf dem Server ausführen?
- Schreiben Ihre PCI-Compliance-Bestimmungen die Verwendung einer Hardware-Firewall vor?
- Benötigen Sie eine fehlertolerante, hochverfügbare oder lastausgeglichene Lösung?
Inszenierung / Entwicklungspraxis
- Benötigen Sie eine separate dedizierte Umgebung für die Bereitstellung / Entwicklung?
- Benötigen Sie eine "Test Live" -Umgebung, die der "Live" -Umgebung entspricht (für endgültige Pre-Live-Tests)?
Budget
- Haben Sie ein monatliches Budget?
Senden Sie diese Informationen anschließend an den Hosting-Anbieter Ihrer Wahl und sehen Sie, was dieser empfiehlt.
Anpassung Ihrer Anforderungen
Als Faustregel gilt, dass dies möglich ist
- Korrelieren Sie Ihren Datenverkehr direkt mit Ihren CPU-Anforderungen
- Korrelieren Sie Ihre CPU-Anforderungen direkt mit den RAM-Anforderungen
- Korrelieren Sie Ihren MySQL-Speicher direkt mit den RAM-Anforderungen
CPU-Auswahl
Beginnen Sie zunächst damit, Ihren Datenverkehr zu vergrößern.
- Ein Standard-Magento-Demo-Store kann ungefähr 230 Uniques pro GHz und Stunde liefern.
- Ein typischer Webshop mit Administrator-Benutzeraktivität, Entwicklungsaktivität und Hinzufügung / Löschung von Produkten kann eine Verschlechterung um etwa 100% auf 115 Einheiten pro GHz und Stunde feststellen.
- Ein Geschäft mit einer schlecht gebauten / schweren Vorlage kann den Wert um weitere 100-200% auf 50 Einheiten pro GHz und Stunde reduzieren.
Anhand dieser Zahlen können Sie genau die CPU-Ressourcen ermitteln, die Sie benötigen.
Z.B. Wenn Sie 4.025 eindeutige Besucher pro Tag haben, benötigen Sie eine CPU-Ressource von 28 GHz (dh 8 Kerne bei 3,5 GHz oder 12 Kerne bei 2,3 GHz).
Das andere wichtige Detail ist die Geschwindigkeit der CPU. Es ist möglich:
- Eine langsame Ladezeit und Unterstützung für geringe Parallelität (CPU mit niedriger Taktrate (GHz), wenige Kerne)
- Schnelle Ladezeit, aber geringe Parallelität (CPU mit hoher Taktrate (GHz), wenige Kerne)
- Eine langsame Ladezeit der Seite, aber Unterstützung für hohe Parallelität (CPU mit niedriger Taktrate (GHz), viele Kerne)
- Schnelle Ladezeit und Unterstützung für hohe Parallelität (CPU mit hoher Taktrate (GHz), viele Kerne)
RAM-Auswahl
Für einen eigenständigen Server (die beste Konfiguration für Magento) beträgt die Regel hier 2 GB RAM / CPU-Kern. Wenn Sie also 8 Kerne haben, sollten mindestens 16 GB RAM zur Verfügung stehen.
Um herauszufinden, was Sie zusätzlich benötigen, müssen Sie die Größe Ihres Katalogs berücksichtigen. Multiplizieren Sie dazu einfach die Anzahl der Geschäftsansichten mit der Gesamtkataloggröße.
Z.B. In Ihrem Fall ist 1 Geschäftsansicht * 10.000 Produkte = 10.000
Unsere Empfehlung ist,
<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
Sie möchten die höhere der beiden Zahlen nehmen (dh aus dem CPU-Kern: RAM-Verhältnis und den Kataloganforderungen) oder eine sinnvolle Mischung aus beiden.
HDD-Auswahl
(. Dh <50k Besucher / Tag) Lets make etwas klar, für den durchschnittlichen Magento Shop, Magento ist nicht von I / O gebunden - SSDs nicht Ihren Magento Shop schneller machen; es wird nicht die Parallelität verbessern und es wird nicht TTFB verbessern. Ebenso bietet die Verwendung von RAID-Levels mit Stripes (z. B. RAID10) keinen Vorteil (da fast jede Datei auf der Festplatte ohnehin kleiner als die Stripe-Größe sein wird, wird nur eine einzige Festplatte verwendet).
Der einzige Zeitspeicher ist ein Engpass bei konkurrierenden Diensten (z. B. Cloud / VPS).
Es gibt jedoch sicherlich Vorteile für eine schnelle E / A über den eigentlichen Geschäftsbetrieb hinaus. Mit SSDs sind Dateivorgänge (z. B. Git / SVN-Status, Sichern / Wiederherstellen, Kopieren von Verzeichnissen usw.) wesentlich schneller. Das Leben Ihres Entwicklers wird wesentlich einfacher (mit Routineaufgaben, die viel schneller sind).
Beachten Sie auch, dass nicht alle Laufwerke gleich sind.
- Billige / Desktop-SSDs arbeiten langsamer als herkömmliche Festplatten
- Günstige / Desktop-HDDs arbeiten langsamer als Enterprise-HDDs
- Günstige / Desktop-HDDs weisen im Vergleich zu Enterprise-Festplatten (normalerweise 10 ^ 16) schlechte NRE-Raten auf (normalerweise 10 ^ 14).
Wählen Sie also unbedingt Laufwerke aus, die es verdienen, in einem Server zu sein. der Intel DC S3700.
Die Kommissionierkapazität ist einfach. Sie benötigen nur zwei Befehle.
Für den Magento-Dokumentenstamm
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/"
Für die MySQL DB
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;
.
Wen soll ich auswählen?
Nun, das liegt an dir. Ich kann keine Empfehlung aussprechen [obwohl es offensichtlich ist :)] - aber Sie können sich sicherlich eine eigene Meinung bilden,
- Wenn sie die Hardware haben, die Ihren Mindestanforderungen entspricht
- Wenn sie ein solides Erbe / einen guten Ruf in Magento haben (dh an solchen Sites teilnehmen und reale Erfahrungen demonstrieren)
- Wenn sie eine Demonstration Ihres Geschäfts auf ihrem Hosting bereitstellen können (dh damit Sie genau sehen können, wie es funktioniert)
- Wenn sie alle Ihre Fragen zu Magento beantworten können (dh versuchen Sie, sie mit Fragen zu testen, die Sie in der Vergangenheit hatten, und sehen Sie, wie sie sie beantworten)
- Wenn der Preis Ihrem Budget entspricht
- Stellen Sie sicher, dass der Support Ihren Erwartungen entspricht (dh, Sie sind bereit, die gesamte Sorgfalt selbst durchzuführen, bevor Sie sich an den Support wenden, oder haben Sie die Erwartung, dass er Ihre Magento-Probleme in Ihrem Namen beheben kann).
- Stellen Sie sicher, dass der Umfang der enthaltenen Arbeiten Ihren Anforderungen entspricht (z. B. vollständig verwaltet, Bare Metal usw.).
- Wenn die Lösung skalierbar ist (dh es handelt sich um eine Einzelserverplattform - kann sie skaliert werden, um eine Lösung mit mehreren Servern zu sein).
- Wenn die Lösung die gesamte Software enthält, die Sie für Ihren Magento-Shop benötigen (z. B. ElasticSearch / Sphinx / SOLR, Redis / Memcache, Lack usw.)
Hier gibt es etwas hinzuzufügen, Sie erhalten zwei Arten von Hosts
- Verwaltet (zB wo der Server komplett eingerichtet und gepflegt ist)
- Nicht verwaltet (z. B. wo Sie den gesamten Server selbst eingerichtet haben)
Was für Sie am besten geeignet ist, hängt wirklich von Ihren Fähigkeiten ab. Meiner ehrlichen Meinung nach sind Entwickler keine Systemadministratoren - nur weil Sie ausgeführt werden können apt-get install nginx
-, sind Sie kein erfahrener Systemadministrator. Andernfalls könnte sich jeder Ladenbesitzer, der Magento Connect verwenden könnte, als Entwickler ausweisen!
Das Verstehen Ihrer Rolle (und Einschränkungen) als Entwickler und das Ermöglichen, dass jemand mit der richtigen Erfahrung in der Verwaltung des Servers vertraut ist, ist äußerst wertvoll. Jeder kann eine Reihe von Paketen installieren, aber die Softwarekonfiguration so anzupassen, dass sie stabil, fehlerfrei, sicher und leistungsstark ist, ist etwas völlig anderes.
Ich würde die gesamte DIY-Route nur Personen empfehlen, die über umfangreiche Erfahrungen mit der Magento-Serverkonfiguration verfügen und bereits Tausende von Servern mit bekannten getesteten und stabilen Konfigurationen bereitgestellt haben. Andernfalls sollten Sie sich an einen verwalteten Magento-Host wenden, der weiß, was er tut, und es Ihnen ermöglichen, Ihre Arbeit ohne Unterbrechungen zu erledigen.
Quellen: