web-dev-qa-db-fra.com

Tout le nécessaire pour faire fonctionner un site web à fort trafic

Je suis un développeur web front-end expérimenté, alors que mon expérience en back-end s'est produite uniquement dans le contexte de Drupal. Fondamentalement, plus les choses vont au fond, plus je suis inexpérimenté. À un moment donné, je ne sais même pas ce que c'est, je ne sais pas.

J'espère avoir une idée générale de tout ce qui est nécessaire pour faire fonctionner un site Web à fort trafic. Je me rends compte que certaines choses vont dépendre du type d'utilisation de PHP vs Ruby, du type de base de données, du type de serveur et du type de système d'exploitation utilisé sur ce serveur. Pour le moment, je prévois d'utiliser Amazon EC2, mais je ne suis pas sûr de PHP par rapport à Ruby.

Autant que je sache, voici les principales catégories:

Serveur

  1. Principales configurations
  2. Suivi des performances/problèmes
  3. Evolutivité à court et à long terme (court terme = capacité à augmenter rapidement la capacité)

base de données

  1. Principales configurations
  2. Suivi des performances/problèmes
  3. Evolutivité à long terme
  4. Caching (pas sûr si le cache de requête est fait au niveau DB ou PHP/Ruby)

langage back-end (PHP ou Ruby)

  1. Principales configurations
  2. Caching
  3. Cron jobs (ou équivalent en Ruby, si appelé autrement)


Je crains que cette question ne soit fermée car elle n’est pas une vraie question car elle n’est pas assez précise. Mais c’est mon manque d’expérience en bout de ligne qui me rend difficile de savoir comment poser correctement une question comme celle-ci. Si la question devait être révisée, veuillez laisser un commentaire expliquant de quelle manière et je ne manquerai pas de le faire.

2
maxedison

La manière dont votre serveur sera configuré dépend beaucoup de la langue que vous utilisez. Vous devez choisir entre PHP et Ruby, puis vous interroger sur une configuration correcte, quel que soit votre choix.

Quel que soit votre choix, veillez à utiliser de bonnes techniques de codage. Avoir du code bâclé peut causer plus de problèmes que de simples performances. Si vous utilisez PHP (ce que je recommanderais), lisez-le sur OOP en PHP. Même si PHP n'est pas techniquement un langage de programmation orienté objet, il peut non seulement améliorer les performances, mais également la productivité.

Je vous recommanderais également d'utiliser des commentaires dans votre code, en particulier pour une logique très complexe. Cela aide non seulement les autres personnes à comprendre ce que vous faites, mais aussi à trouver facilement quelque chose que vous avez codé il y a des mois. Un autre programmeur devrait pouvoir examiner votre code et déterminer ce qu'il fait relativement facilement.

Avoir correctement configuré vos bases de données peut faire une énorme différence pour un site à fort trafic. Consultez les index de définition et les types de champs appropriés à utiliser car ceux-ci sont souvent négligés, mais peuvent vous donner un avantage considérable en termes de performances s'ils sont utilisés correctement. Vous devez tenir compte de nombreux autres paramètres. Une recherche rapide sur Google peut vous fournir de nombreuses informations à ce sujet.

Si vous allez utiliser PHP, vous voudrez peut-être jeter un coup d'œil à HipHop pour PHP. Il convertit tout votre code en C++ hautement optimisé, puis en code machine. Il a été créé par Facebook et publié en tant que projet open source. Jetez un oeil à https://github.com/facebook/hiphop-php

2
Kyle