Spécifications minimales pour un site Web à fort trafic

J'ai un site Web qui contient une page PHP qui exécute 3 requêtes SQL simples vers la database MySQL 2 simples requêtes sélectives et 1 mise à jour simple.

La sortie HTML avec quelques images est de 500 Ko

Le server doit traiter 50 à 150 requêtes par seconde.

Pouvez-vous m'aider à décider des spécifications minimales dont le server a besoin afin d'assurer 100% de disponibilité?

2 Solutions collect form web for “Spécifications minimales pour un site Web à fort trafic”

500 Ko * 150 fois / s = 73 MByte / sec, ou 586 Mbit / s. C'est une grande quantité de bande passante: près de 190 TByte / mois de transfert. Mettre du matériel en place pour soutenir cela est en fait assez simple; vous pourriez probablement passer par un VPS (robuste) si "simple" signifie vraiment "simple", mais la bande passante va être une pierre d'achoppement, car la plupart des servers de VPS vont se préoccuper (ou facturer des taux exorbitants pour) ce genre de transfert mensuel.

Voulez-vous accueillir tout vous-même en entier, gé-dispersé HA, ou vaut-il la peine de décharger une partie de l'hébergement sur un CDN?

C'est un peu comme dire "Quel type de voiture va gagner la Baja 1000?". Ça dépend.

En outre, 100% de disponibilité n'est pas possible. Vous pouvez vous rapprocher, cependant

Cela étant dit, il y a quelques choses que vous voudrez faire.

1) Quelle que soit la solution que vous mettez en place, assurez-vous de mesurer tout ce que vous pouvez. Avec les parameters, vous pouvez déterminer si vous êtes sur ou sous provisionné et que vous avez pris des mesures. Vous pouvez également voir les tendances et faire des choix éclairés avant que les choses commencent à se briser.

2) La redondance est votre ami. Redondance géographique (fractionnement de l'application dans différents centres de données dans différentes régions géocharts), horizontale (fractionnement des servers d'applications des servers de database et de contenu) et verticale (quelques petites avec un équilibreur de charge est supérieure à 1 grande).

Donc, c'est la vue de 10k pieds.

Plus précisément, dans votre cas, je définirai un groupe de servers pouvant gérer environ 75% de votre trafic. Peut-être 2 – 3 servers Nginx (mon choix personnel, utilisez ce dont vous êtes à l'aise) devant une paire de servers DB (1 maître, 1 Réplique en lecture seule). Utilisez le server Web pour revenir à une sorte de FCGI ou d'un autre server d'application. Assurez-vous que les servers frontaux servent vos pages en cache (vous êtes en cache, à droite?).

Maintenant, vous devrez déposer une sorte de LB devant cela. Un seul sera bien, parce que …

Vous allez configurer une copy de ceci dans un autre datacenter. Toutes les répliques de lecture en lecture seule, sauf si vous souhaitez creuser et get une réplication de master / master.

Utilisez le DNS round robin pour split le trafic entre les CNAMES DNS des deux équilibreurs de charge.

En cas d'échec dans l'un des DC, basculez le cname sur le site.

Cela va être coûteux et difficile à faire.

Honnêtement, la plupart des gens vont simplement le faire dans un seul DC, car il n'est tout simplement pas rentable d'aller tout au long.

Personnellement, je commençais petit et voyais comment cela se déroule. Il devrait être facile d'append des servers, et après un certain time, vous pourrez voir où votre application a besoin de l'aide.

  • Un Xeon est-il suffisant pour exécuter un site Web général sur mon VPS?
  • Construire un server ou louer un VPS?
  • Utilisation du même server VPS pour le server Web et le server de messagerie
  • Les e-mails envoyés par SMTP sur VPS sont considérés comme des spams
  • CHMOD 0777, mais Wordpress ne peut toujours pas écrire de files / dossiers
  • Réplication en time réel des blogs Wordpress
  • Erreur lors de la création d'une nouvelle tranche en utilisant gpart sur FreeBSD
  • Hébergement VPS pour un réseau social
  • Créer un cluster de basculement sur Internet?
  • Disque du server Linux plein
  • La question des conditions de l'hôte vps fournit
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.