wie man die Hosting-Anforderungen ermittelt

23

Wir bereiten die Einführung von zwei E-Commerce-Sites mit CE Version 1.9 vor. Jede Seite wird mit ungefähr 10000 Artikelnummern beginnen.

Was sind die wichtigsten Dinge, nach denen wir von einem Webhost suchen müssen ... Sind Dinge wie Datenbankgröße, Anzahl der Bilder usw. wichtig?

Offensichtlich ist auch die Seitenladegeschwindigkeit sehr wichtig.

Wie wählen wir am besten einen geeigneten Host aus?

Vielen Dank

walter kaatz
quelle
Begrüßungswasser auf MageOverflow. Leider ist das Hosting von Magento eine komplexe Angelegenheit, und es gibt viele Unternehmen, die Sie einladen, mit ihnen über Ihre Anforderungen zu diskutieren. Es gibt keine Möglichkeit, Ihnen etwas ohne viele weitere Informationen zu empfehlen. Und mit all den Informationen ist die Frage zu spezifisch, um hilfreich zu sein.
Fabian Blechschmidt
@FabianBlechschmidt - Ich glaube nicht, dass es sich um eine doppelte Frage handelt. Und das ist eine ziemlich vernünftige Frage. Ich habe eine ziemlich gründliche Antwort zu den Größenanforderungen verfasst (ich werde sie auch detaillierter zusammenfassen) und sie ist allgemein genug, damit sie als wirklich gute Referenzfrage für die Architekturgröße dienen kann.
Ben Lessani - Sonassi
Sie sind der Experte, also habe ich für die Wiedereröffnung gestimmt :-)
Fabian Blechschmidt

Antworten:

31

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

  1. Magento-Version?
  2. Anzahl einfacher Produkte im Katalog?
  3. Anzahl der Kategorien im Katalog?
  4. Anzahl der Attribute im Katalog?
  5. Anzahl der Attributmengen im Katalog?
  6. Anzahl der Magento Store Views (Admin> System> Stores verwalten)?
  7. Transaktionen pro Tag?
  8. Spitzentransaktionen in einer Stunde?

Verkehr und Bandbreite

  1. Wie hoch sind die täglichen Besucherzahlen?
  2. Was ist der höchste Gipfel in einer Stunde einzigartiger Besucher?
  3. Anzahl der Seitenaufrufe pro Besucher?
  4. Aus welchem ​​Land kommen die Besucher überwiegend?
  5. Gehen Sie davon aus, dass der Site-Traffic in den nächsten 12 Monaten um wie viel ansteigen wird?
  6. Führen Sie regelmäßig hochfrequentierte Kampagnen / Newsletter durch (die eine hohe Akzeptanz haben)?
  7. Bietet Ihre Site digitale Downloads an?
  8. Aktuelle Bandbreitennutzung?
  9. Benötigen Sie einen dDOS-Filterdienst?

Hardware-Anforderungen

  1. Aktuelle Speicherplatznutzung?
  2. Benötigen Sie eine langfristige Protokollspeicherung (PCI-DSS-Konformität)?
  3. Benötigen Sie einen externen Backup-Speicher?
  4. Müssen Sie eine spezielle / alternative Software auf dem Server ausführen?
  5. Schreiben Ihre PCI-Compliance-Bestimmungen die Verwendung einer Hardware-Firewall vor?
  6. Benötigen Sie eine fehlertolerante, hochverfügbare oder lastausgeglichene Lösung?

Inszenierung / Entwicklungspraxis

  1. Benötigen Sie eine separate dedizierte Umgebung für die Bereitstellung / Entwicklung?
  2. Benötigen Sie eine "Test Live" -Umgebung, die der "Live" -Umgebung entspricht (für endgültige Pre-Live-Tests)?

Budget

  1. 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

  1. Korrelieren Sie Ihren Datenverkehr direkt mit Ihren CPU-Anforderungen
  2. Korrelieren Sie Ihre CPU-Anforderungen direkt mit den RAM-Anforderungen
  3. 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,

  1. Wenn sie die Hardware haben, die Ihren Mindestanforderungen entspricht
  2. Wenn sie ein solides Erbe / einen guten Ruf in Magento haben (dh an solchen Sites teilnehmen und reale Erfahrungen demonstrieren)
  3. Wenn sie eine Demonstration Ihres Geschäfts auf ihrem Hosting bereitstellen können (dh damit Sie genau sehen können, wie es funktioniert)
  4. 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)
  5. Wenn der Preis Ihrem Budget entspricht
  6. 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).
  7. Stellen Sie sicher, dass der Umfang der enthaltenen Arbeiten Ihren Anforderungen entspricht (z. B. vollständig verwaltet, Bare Metal usw.).
  8. 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).
  9. 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:

Ben Lessani - Sonassi
quelle