32 votes

Pourquoi PHP est-il adapté aux sites Web à fort trafic?

J'ai été surpris d'apprendre aujourd'hui que PHP est largement utilisé dans les sites Web à fort trafic.

J'ai toujours pensé que PHP n'était pas fort en termes de performances, étant un langage de script dynamique (par exemple, comparé à un langage compilé statiquement comme C / Java / C # etc.).

Alors, comment se fait-il qu'il fonctionne si bien?

57voto

ircmaxell Points 74865

Ce que vous pourrez généralement trouver, c'est qu'il n'est pas aussi lentement que vous le pensez. La raison pour laquelle un grand nombre de sites sont lent, c'est parce que les hôtes sont surchargés.

Mais l'un des principaux avantages de PHP par rapport à un langage compilé est la facilité d'entretien. Parce que PHP est conçu à partir du sol pour le trafic HTTP, il y a moins de construire qu'avec la plupart des autres langages compilés. De Plus, fusionnant les modifications devient plus facile, vous n'avez pas besoin de recompiler et de redémarrer le serveur (comme vous le feriez avec un binaire compilé)...

J'ai fait une quantité considérable de repères sur les deux, et pour n'importe où, en vertu d'environ 50 requêtes par seconde (selon mes chiffres) il n'y a vraiment pas un gain significatif à l'aide d'un binaire compilé (FastCGI). Bien sûr, il est un peu plus rapide à l'aide compilé en C, mais à moins que vous parlez Facebook de niveau de trafic, qui n'est pas vraiment donner lieu à des $$$. Et c'est certainement pas ça qui va compenser le relativement rapide des taux de développement que PHP va permettre en comparaison à l'aide de C (qui a plus que probable nécessitera de nombreuses fois le code car il n'est pas de mémoire gérés)...

PHP, si elles sont correctement écrits peuvent être très évolutive. Les facteurs limitants sont généralement dans votre moteur de base de données. Et qui va être un facteur commun quelle que soit la technologie que vous utilisez...

10voto

bpeterson76 Points 9560

Java déploiements dans une grande entreprise sont un gâchis...les combats avec les constructions et le code qui peut ne pas compiler pour la moindre petite chose. Aussi, PHP s'exécute sur un assez simple de configuration du serveur sage, pas de l'encombrant code qui est Weblogic (ou autres), d'autres sont à droite en ce qu'il est à faible coût à développer et à bas prix à déployer sur plusieurs machines différentes. Il n'a certainement pas aidé que j'ai été prise d'un travail dans un grand, TRÈS inefficace de l'environnement de l'entreprise tout en faisant la Java....

Je ne dirais pas que les développeurs PHP sont moins chers en soi (je fais plus maintenant, en tant que développeur PHP que j'ai fait en tant que développeur Java UI) mais je sais que mon dernier employeur m'a payé pour des quantités non négligeables de temps passé sur la configuration, le déploiement, la compilation, etc qui n'est pas requis en PHP. Nous parlons probablement un jour/semaine de configuration liées à manipuler en raison de la nouvelle branche roll out ou la libération configurations liées. Donc, le plus je suis payé maintenant est constitué par une quantité importante plus de code que je suis capable de travailler chaque semaine.

PHP est certainement d'être aidé par le fait que MySQL et Postgres (dans une moindre mesure) sont devenus tellement plus puissant. Ils ne sont pas directement liés, mais n'ayant que comme un bien commun de couplage adoucit tout l'affaire pour ceux qui prennent les décisions.

3voto

GWW Points 20316

La plupart des sites Web ont des goulots d'étranglement lors de l'interrogation d'une base de données, etc. La durée de l'exécution du script est généralement faible par rapport à cela. L'utilisation de choses comme libmemcached peut aider à atténuer cela.

2voto

el.pescado Points 7960

De nombreux sites ont commencé comme des sites à faible trafic. Une fois que votre site Web PHP est en cours d'exécution et que vous devez soudainement gérer un trafic beaucoup plus élevé, il est moins cher d'acheter simplement plus de serveurs que de réécrire votre application de PHP vers autre chose. De plus, il existe des outils qui améliorent les performances PHP.

Notez également qu'il existe d'autres facteurs: la base de données, la stratégie de mise en cache qui affectent davantage les performances que PHP lui-même.

1voto

Quentin Points 325526

Ce n'est pas le cas, c'est pourquoi il existe des projets comme HipHop , mais les langages dynamiques sont souvent plus rapides à développer et le matériel est moins cher que les développeurs.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X