web-dev-qa-db-fra.com

Pouvez-vous m'aider à planifier mes capacités?

Ceci est une question canonique à propos de planification de la capacité

En relation:

J'ai une question concernant la planification des capacités. La communauté Server Fault peut-elle aider avec les éléments suivants:


  • De quel type de serveur ai-je besoin pour gérer un certain nombre d'utilisateurs?
  • Combien d'utilisateurs un serveur avec certaines spécifications peut-il gérer?
  • Est-ce que une configuration de serveur sera assez rapide pour mon cas d'utilisation ?
  • Je crée un site de réseautage social: de quel type de matériel ai-je besoin?
  • De quelle bande passante ai-je besoin pour certains projets ?
  • Quelle quantité de bande passante un certain nombre d'utilisateurs utilisera-t-il dans certaines applications ?
133
voretaq7

La communauté Server Fault ne peut généralement pas vous aider avec la planification de la capacité - la meilleure réponse que nous pouvons offrir est "Comparez votre code sur du matériel similaire à ce que vous utiliserez en production , identifiez les goulots d'étranglement, puis déterminez la charge de travail que votre matériel actuel peut gérer et/ou la puissance matérielle dont vous avez besoin pour gérer votre charge de travail cible ".


Il existe un certain nombre de facteurs en jeu dans la planification des capacités que nous ne pouvons pas évaluer correctement sur un site de questions et réponses:

  • Les exigences de votre code/logiciel particulier
  • Ressources externes (bases de données, autres logiciels/sites/serveurs)
  • Votre charge de travail (pointe, moyenne, file d'attente)
  • La valeur commerciale de la performance (analyse coûts/avantages)
  • Les attentes de performance de vos utilisateurs
  • Tous les accords de niveau de service/obligations contractuelles que vous pourriez avoir

Faire une analyse appropriée de ces facteurs, et d'autres, dépasse le cadre d'un simple site de questions/réponses: ils nécessitent une connaissance détaillée de votre environnement et des exigences que seule votre équipe (ou un consultant rémunéré de manière adéquate) peut rassembler efficacement.


Quelques axiomes de planification des capacités

  1. la RAM est bon marché
    Si vous vous attendez à ce que votre application utilise beaucoup de RAM vous devez en mettre autant RAM que vous pouvez vous permettre/adapter).
  2. Le disque est bon marché
    Si vous prévoyez d'utiliser beaucoup de disque, vous devriez acheter de gros disques - beaucoup d'entre eux.
    Le stockage SAN/NAS est moins cher et devrait également être généralement plus grand que petit pour éviter des mises à niveau coûteuses plus tard.
  3. Les charges de travail augmentent avec le temps
    Supposons que vos besoins en ressources augmenteront.
    Gardez à l'esprit que l'augmentation peut ne pas être symétrique (CPU et RAM peut augmenter plus rapidement que le disque), et elle peut ne pas être linéaire.
  4. L'électricité coûte cher
    Même si RAM et prix des disques ont considérablement diminué, le coût de l'électricité n'a cessé d'augmenter. Tous ces disques et RAM supplémentaires, sans parler de la puissance du processeur, augmenteront votre facture d'électricité (ou la facture que vous payez à votre fournisseur).
98
voretaq7

Planification du nombre de machines virtuelles

Lorsqu'il s'agit de déterminer le nombre de machines virtuelles que vous devez planifier sur un seul hôte, il n'y a en fait pas vraiment de bonnes règles de base. En fait, il n'y en a qu'un, et ce n'est qu'une sorte de bien:

Les nombres de machines virtuelles sont généralement limités par la RAM, sauf lorsqu'ils ne le sont pas.

Ce qui n'est pas terriblement utile. Si ces machines virtuelles doivent exécuter des applications à faible processeur, votre limiteur sera basé sur la RAM. Chaque plate-forme VM a ses propres capacités de sursouscrire de la RAM, donc ce n'est pas aussi facile que TOTAL_RAM/Per-VM-RAM = MachineCount, mais ce nombre est un bon élément de planification.

Mais que se passe-t-il si vos machines virtuelles font des choses en plus du slinging de paquets à faible CPU?


Le nombre de machines virtuelles est limité par sept ressources distinctes disponibles pour la machine hôte:

  • Hyperviseur VMware, Xen, HyperV, KVM, peu importe. Chacun a ses propres fonctionnalités ayant un impact sur le comptage. Certains sont très bons pour la déduplication des pages mémoire, d'autres moins. Certains n'autorisent pas la sursouscription de la capacité du processeur, d'autres le font.
  • Vitesse du cœur du processeur Cela limite les performances maximales d'un seul thread a VM pourra s'exécuter. 36 cœurs d'un Le processeur 1,8 GHz peut représenter 64,8 GHz du processeur sur un hôte, mais aucun thread unique ne fonctionnera plus rapidement que 1,8 GHz.
  • Nombre de cœurs du processeur Ceci, avec la vitesse du cœur, décrit le plafond des performances maximales du processeur que vous pouvez rencontrer.
  • RAM système Comme décrit ci-dessus, cela limite le nombre de VM que vous pouvez exécuter. Certains hyperviseurs sont meilleurs que d'autres dans des domaines tels que la déduplication des pages mémoire, donc si vous exécutez 100 machines virtuelles identiques, vous pouvez en emballer beaucoup plus sur de tels systèmes de déduplication que si vous exécutiez 100 machines virtuelles complètement différentes.
  • Taille du disque Chaque image du système d'exploitation prend une certaine quantité d'espace. Vous avez besoin de suffisamment d'espace pour tout ranger. Par conséquent, la taille du disque limite le nombre de machines virtuelles que vous pouvez héberger.
  • Bande passante d'E/S Le disque sous-jacent aux VM a un maximum sur le nombre d'E/S par seconde qu'il peut gérer. Si vous en lancez trop, les systèmes s'enliseront en attendant la fin des E/S. Cela place une limite supérieure sur le nombre de machines virtuelles consommatrices d'E/S que vous pouvez exécuter.
  • Bande passante réseau Pour les machines virtuelles utilisant le réseau, la bande passante réseau disponible limitera le nombre de ces machines virtuelles que vous pouvez exécuter sur un hôte donné.

Tout cela peut être la chose sur laquelle vous trébuchez, tout dépend de ce que vous faites avec vos machines virtuelles. Quelques points à retenir:

  • Il n'y a pas de système générique.
  • Il n'y a rien de tel qu'un serveur web générique , car le code d'application peut s'exécuter depuis à peine bouge l'aiguille CDN - style de service, pour les gros trucs profonds comme le transcodage vidéo.
  • Il n'existe pas de serveur de base de données générique . Ceux-ci peuvent aller de très petits systèmes utilisés uniquement pour le suivi de l'état de session à de très gros.

Pour déterminer le nombre de machines virtuelles que vous pouvez intégrer dans un système hôte, vous devez savoir comment vos systèmes fonctionnent et ce dont ils ont besoin pour bien fonctionner. Une fois que vous savez cela, vous pouvez alors faire la planification du comptage. Et mieux encore, découvrez à quel point vous avez besoin de robustes pour faire vos systèmes hôtes!

45
sysadmin1138

Assurez-vous de poser la bonne question.

  • Les ordinateurs sont bon marché
  • Les besoins futurs sont très difficiles à prévoir
  • Planifiez comment évoluer, pas quoi acheter à l'avance

Si vous ne savez pas de quoi vous aurez besoin, cela signifie que vous n'en avez pas besoin de beaucoup. Si vous avez un site Web à chaud, vous avez probablement aussi une équipe d'opérations qui sait combien de RAM, disque, io, réseau, etc. votre application a besoin. Si vous êtes dans la phase de rêve, vous devriez commencer avec votre bureau et remonter.

Assurez-vous d'avoir une idée de la façon dont vous allez évoluer lorsque les choses s'agrandissent. Pouvez-vous ajouter plus de serveurs derrière l'équilibreur de charge? Pouvez-vous partager le serveur redis?

De plus, avoir son propre centre de données est nul. Un centre de données (même s'il ne s'agit que d'un seul ordinateur) est une distraction par rapport à votre objectif réel. Vous ne pouvez pas simplement acheter un ordinateur, l'allumer et vous éloigner. Vous avez besoin de la climatisation, de la filtration de l'air, d'une alimentation fiable, d'une connexion Internet fiable, de sauvegardes, de pièces de rechange, d'un espace physique pour grandir, d'une capacité électrique pour grandir, de câbles d'alimentation qui ne se déclenchent pas et d'un million d'autres maux de tête.

7
Dylan Martin