comment déterminer les exigences d'hébergement


23

Nous nous préparons à lancer 2 sites e-commerce utilisant CE ver 1.9. Chaque site commencera avec environ 10000 sku.

Quels sont les éléments clés que nous devons rechercher auprès d'un hébergeur ... des éléments tels que la taille de la base de données, le nombre d'images, etc. sont-ils importants?

De toute évidence, la vitesse de chargement des pages est également très importante.

Comment sélectionner au mieux un hôte approprié?

Merci


Bienvenue sur MageOverflow. Malheureusement, l'hébergement Magento est une chose complexe et de nombreuses entreprises vous invitent à discuter avec elles de vos besoins. Il n'y a aucun moyen de vous recommander quoi que ce soit avec beaucoup plus d'informations. Et avec toutes les informations, la question est trop précise pour être utile.
Fabian Blechschmidt

@FabianBlechschmidt - Je ne pense pas que ce soit une question en double de celle mentionnée. Et c'est une question assez raisonnable à cela. J'ai rédigé une réponse assez complète sur les exigences de dimensionnement (je vais les regrouper avec plus de détails également) et son assez générique pour que cela serve de très bonne question de référence pour le dimensionnement de l'architecture.
Ben Lessani - Sonassi

Vous êtes l'expert, j'ai donc voté pour la réouverture :-)
Fabian Blechschmidt

Réponses:


31

Avertissement: Sonassi est un hôte Magento


TL; DR - Un bon hôte vous dira exactement ce dont vous avez besoin (et le justifiera). Vous ne devriez pas faire cela vous-même.

Lorsqu'un client s'approche de nous, nous posons quelques questions pour comprendre quelles sont les exigences actuelles, les exigences de pointe et les exigences futures pour leur magasin. Nous ferons ensuite une recommandation sur cette base.

Étant donné que nous hébergeons des milliers de magasins Magento, nous avons une compréhension assez solide de exactement quelle infrastructure est requise pour un ensemble donné d'exigences client, il est donc assez facile pour nous de donner une recommandation (et une prévision exacte des ressources qui seront utilisées) lorsque ils vont réellement vivre.

Le détail à noter ici est que même si nous pouvons certainement vous dire les exigences pour notre propre infrastructure exécutant MageStack - ce ne sera certainement pas tout à fait la même chose qu'une configuration ailleurs - alors gardez cela à l'esprit.

Laissez quelqu'un d'autre évaluer vos besoins

Boutique et catalogue

  1. Version de Magento?
  2. Nombre de produits simples dans le catalogue?
  3. Nombre de catégories dans le catalogue?
  4. Nombre d'attributs dans le catalogue?
  5. Nombre d'ensembles d'attributs dans le catalogue?
  6. Nombre de vues de magasin Magento (Admin> Système> Gérer les magasins)?
  7. Transactions par jour?
  8. Transactions de pointe en une seule heure?

Trafic et bande passante

  1. Quel est le niveau de visiteurs uniques quotidiens?
  2. Quel est le plus haut sommet en une seule heure de visiteurs uniques?
  3. Nombre de pages vues par visiteur?
  4. De quel pays proviennent principalement les visiteurs?
  5. Pensez-vous que le trafic du site augmentera au cours des 12 prochains mois, si oui, de combien?
  6. Organisez-vous régulièrement des campagnes / newsletters à fort trafic (qui ont un taux de participation important)?
  7. Votre site propose-t-il des téléchargements numériques?
  8. Utilisation actuelle de la bande passante?
  9. Avez-vous besoin d'un service de filtrage dDOS?

Exigences matérielles

  1. Utilisation actuelle de l'espace disque?
  2. Avez-vous besoin d'un stockage de journaux à long terme (conformité PCI-DSS)?
  3. Avez-vous besoin d'un stockage de sauvegarde hors site?
  4. Avez-vous besoin d'exécuter un logiciel spécialisé / alternatif sur le serveur?
  5. Vos réglementations de conformité PCI dictent-elles l'utilisation d'un pare-feu matériel?
  6. Vous avez besoin d'une solution tolérante aux pannes, hautement disponible ou à charge équilibrée?

Pratique de mise en scène / développement

  1. Avez-vous besoin d'un environnement dédié distinct pour la mise en scène / développement?
  2. Avez-vous besoin d'un environnement «Test Live» pour correspondre à l'environnement «Live» (pour les tests pré-live finaux)?

Budget

  1. Avez-vous un budget mensuel?

Ensuite, en utilisant ces informations, envoyez-les à votre hébergeur de choix et voyez ce qu'ils recommandent.


Dimensionner vos propres besoins

En règle générale, il est possible de

  1. Reliez directement vos niveaux de trafic à vos besoins en CPU
  2. Corréler directement vos besoins en CPU avec les besoins en RAM
  3. Reliez directement votre stockage MySQL aux besoins en RAM

Sélection du CPU

Commencez par évaluer votre trafic.

  • Un magasin de démonstration Magento standard est capable de fournir environ 230 uniques par GHz, par heure.
  • Une boutique en ligne typique, avec une activité d'administrateur, une activité de développement, l'ajout / suppression de produits peut voir cette dégradation d'environ 100%, à 115 uniques par GHz, par heure.
  • Un magasin avec un modèle mal construit / lourd peut encore réduire le chiffre de 100 à 200%, à 50 uniques par GHz, par heure.

En utilisant ces chiffres, vous pouvez déterminer exactement ce dont vous avez besoin en termes de ressources CPU.

Par exemple. Si vous avez 4 025 visiteurs uniques soutenus / jour - vous avez besoin d'une ressource CPU totale de 28 GHz (soit 8 cœurs à 3,5 GHz ou 12 cœurs à 2,3 GHz).

L'autre détail important est la vitesse du CPU, il est possible d'avoir:

  • Un temps de chargement de page lent et une prise en charge simultanée faible (CPU à faible vitesse d'horloge (GHz), peu de cœurs)
  • Un temps de chargement de page rapide, mais une prise en charge simultanée faible (CPU à haute vitesse d'horloge (GHz), peu de cœurs)
  • Un temps de chargement de page lent, mais une prise en charge simultanée élevée (CPU à faible vitesse d'horloge (GHz), beaucoup de cœurs)
  • Un temps de chargement de page rapide et une prise en charge simultanée élevée (CPU à haute vitesse d'horloge (GHz), beaucoup de cœurs)

Sélection RAM

Pour un serveur autonome (la meilleure configuration pour Magento), la règle ici est de 2 Go de RAM / CPU Core. Donc, si vous avez 8 cœurs, 16 Go de RAM devraient être le minimum.

Pour déterminer ce dont vous avez besoin en plus de cela, vous devez prendre en compte la taille de votre catalogue. Cela est facile, multipliez le nombre de vues de votre magasin par rapport à la taille totale du catalogue.

Par exemple. Dans votre cas, 1 vue magasin * 10 000 produits = 10 000

Notre recommandation est,

<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   

Vous voulez prendre le plus élevé des deux nombres (c'est-à-dire du rapport CPU Core: RAM et des exigences du catalogue), ou un mélange judicieux des deux.

Sélection du disque dur

Soyons clairs, pour le magasin Magento moyen (c'est-à-dire <50 000 visiteurs uniques / jour), Magento n'est pas lié par les E / S - les SSD ne rendront pas votre magasin Magento plus rapide; cela n'améliorera pas la simultanéité et n'améliorera pas le TTFB. De même, l'utilisation de niveaux RAID entrelacés (par exemple, RAID10) ne fournira aucun avantage (car presque tous les fichiers sur le disque seront de toute façon plus petits que la taille de l'entrelacement, donc un seul disque sera utilisé).

Le seul moment où le stockage est un goulot d'étranglement concerne les services concurrents (par exemple, le cloud / VPS).

Cependant, il y a certainement des avantages à accélérer les E / S au-delà de l'opération de stockage elle-même. Avec les disques SSD, les opérations sur les fichiers (par exemple, l'état Git / SVN, la sauvegarde / restauration, la copie de répertoires, etc.) sont considérablement plus rapides. La vie de votre développeur sera considérablement plus facile (les tâches de routine étant beaucoup plus rapides).

Notez également que tous les lecteurs de disque ne sont pas créés égaux.

  • Les SSD bon marché / de bureau fonctionneront plus lentement que les disques durs conventionnels
  • Les disques durs bon marché / de bureau fonctionneront plus lentement que les disques durs d'entreprise
  • Les disques durs bon marché / de bureau auront des taux NRE médiocres (généralement 10 ^ 14) par rapport aux disques d'entreprise (généralement 10 ^ 16)

Assurez-vous donc de choisir réellement des unités de disque qui méritent d'être dans un serveur, c'est-à-dire. l'Intel DC S3700.

La capacité de prélèvement est facile, il vous suffit de deux commandes,

Pour la racine du document 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/"    

Pour la base de données 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;

.

Qui choisir

Ça dépend de vous. Je ne peux pas faire de recommandation [bien que ce soit évident :)] - mais vous pouvez certainement vous faire votre propre opinion,

  1. S'ils ont le matériel correspondant à vos exigences minimales
  2. S'ils ont un solide héritage / réputation à Magento (c.-à-d. Participer à des sites comme celui-ci et démontrer une expérience du monde réel)
  3. S'ils peuvent fournir une démonstration de votre boutique, sur leur hébergement (c'est-à-dire afin que vous puissiez voir exactement comment il fonctionne)
  4. S'ils peuvent répondre à toutes vos questions liées à Magento (c.-à-d. Essayez de les tester avec des questions que vous avez posées dans le passé et voyez comment ils y répondent)
  5. Si leur prix correspond à votre budget
  6. Assurez-vous que leur assistance correspond à vos attentes (c.-à-d. Êtes-vous prêt à faire vous-même toute la diligence raisonnable avant de contacter l'assistance, ou pensez-vous qu'ils peuvent déboguer vos problèmes Magento en votre nom)
  7. Assurez-vous que l'étendue des travaux inclus correspond à vos besoins (c.-à-d. Entièrement gérés, métal nu, etc.)
  8. Si la solution est évolutive (c'est-à-dire s'il s'agit d'une plate-forme à serveur unique - peut-elle évoluer pour être une solution multi-serveurs).
  9. Si la solution comprend tous les logiciels dont vous avez besoin pour votre boutique Magento (par exemple, ElasticSearch / Sphinx / SOLR, Redis / Memcache, Varnish etc.)

Il y a quelque chose à ajouter ici, vous aurez deux types d'hôtes

  • Géré (par exemple, lorsque le serveur est complètement configuré et pris en charge)
  • Non géré (par exemple, où vous configurez vous-même l'ensemble du serveur)

Ce qui vous convient le mieux dépend vraiment de vos compétences. À mon avis, les développeurs ne sont pas des administrateurs système - simplement parce que vous pouvez exécuter apt-get install nginx- cela ne fait pas de vous un administrateur système expérimenté. Sinon, tout propriétaire de magasin qui pourrait utiliser Magento Connect pourrait se classer en tant que développeur!

Comprendre votre rôle (et vos limites) en tant que développeur et permettre à une personne ayant une bonne expérience de la gestion du serveur revêt une valeur extrême. Tout le monde peut installer une série de packages, mais le réglage de la configuration du logiciel, en veillant à ce qu'il soit stable, sans bogue, sécurisé et hautes performances est une chose complètement différente.

Je ne recommanderais que toute la route du bricolage aux personnes qui ont une grande expérience de la configuration de serveurs Magento, qui ont déjà déployé des milliers de serveurs, avec des configurations testées et stables connues. Sinon, rendez-vous avec un hôte Magento géré qui sait ce qu'il fait et vous permet de faire votre travail sans interruption.


Sources:

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.