Avant de répondre à cela, je n'ai jamais développé quelque chose de assez populaire pour atteindre le haut de la charge du serveur. Traite-moi comme l' (soupir) un étranger qui vient tout juste de débarquer sur la planète, mais celui qui sait PHP et quelques techniques d'optimisation.
Je suis le développement d'un outil en PHP qui pourrait atteindre beaucoup d'utilisateurs, si il fonctionne correctement. Cependant, alors que je suis parfaitement capable de développer le programme, je suis assez désemparés quand il s'agit de faire quelque chose qui peut faire face avec un énorme trafic. Voici donc quelques questions sur elle (n'hésitez pas à son tour à cette question dans un thread de ressources).
Les bases de données
Pour le moment j'ai l'intention d'utiliser les fonctions MySQLi en PHP5. Cependant, comment dois-je configurer les bases de données en relation avec les utilisateurs et le contenu? Dois-je réellement besoin de plusieurs bases de données? Pour le moment tout est brouillé dans une base de données - même si j'ai été envisagent de propagation des données de l'utilisateur à un, réel contenu à l'autre et, enfin, de base le contenu du site (modèle de maîtres, etc.) à l'autre. Mon raisonnement derrière cela est que l'envoi des requêtes à différentes bases de données, permettra d'alléger la charge sur une base de données = 3 chargez sources. Aussi serait-ce encore être efficaces s'ils étaient tous sur le même serveur?
La mise en cache
J'ai un modèle qui est utilisé pour créer les pages et la permutation des variables. Maître modèles sont stockés dans la base de données et chaque fois qu'un modèle est appelé la copie mise en cache (document html) est appelée. Pour le moment j'ai deux types de variables dans ces modèles - static var et de la dynamique de la var. Statique vars sont généralement des choses comme les noms de page, le nom du site - des choses qui ne changent pas souvent; dynamique de vars sont des choses qui changent à chaque chargement de la page.
Ma question à ce sujet:
Dire que j'ai des commentaires sur les différents articles. Ce qui est une meilleure solution: stocker le simple modèle de commentaire et de rendre les commentaires (à partir d'une base d'appel) à chaque fois que la page est chargée ou stocker une copie en cache de la page de commentaires comme une page html - chaque fois qu'un commentaire est ajouté/modifié/supprimé la page est recached.
Enfin
Quelqu'un aurait-il des conseils ou des indications pour l'exécution d'une charge élevée de site sur PHP. Je suis sûr que c'est une pratique de la langue à utiliser Facebook et Yahoo! lui donner une grande priorité - mais existe-il des expériences que je devrais faire attention?