Maison > développement back-end > tutoriel php > La mise en cache des opcodes rend PHP encore plus puissant

La mise en cache des opcodes rend PHP encore plus puissant

PHPz
Libérer: 2023-03-06 15:02:02
original
1635 Les gens l'ont consulté

Comme nous le savons tous, php est un langage interprété, et son exécution peut être divisée selon les processus suivants :

  1. Scanning (Lexing) , le code PHP est converti en fragments de langage (Tokens)

  2. Analyse, et les jetons sont convertis en expressions simples et significatives

  3. Compilation, compile les expressions en Opocdes

  4. Exécution, exécute les Opcodes séquentiellement, un à la fois, réalisant ainsi la fonction de script PHP.

Dans ce cas, des requêtes répétées pour le même fichier nécessiteront une analyse, une compilation et une exécution continues de scripts PHP, consommant trop de ressources.

Mode de fonctionnement traditionnel de PHP :

La mise en cache des opcodes rend PHP encore plus puissant

Afin de résoudre ce problème, la technologie opcodecaching a vu le jour.

Alors, qu'est-ce que le cache d'opcodes ?

Lorsque l'interpréteur termine l'analyse du code du script, il génère un code intermédiaire qui peut être exécuté directement, également appelé opcode (Operate Code, opcode). La mise en cache de l'opcode consiste à mettre en cache le code de l'opcode compilé dans la mémoire. La prochaine fois que vous exécuterez ce script, vous trouverez directement le code de l'opcode dans le cache et exécuterez directement la dernière étape sans avoir besoin d'étapes intermédiaires. Son but est d'éviter la répétition. compilation pour réduire la surcharge du processeur et de la mémoire.

Lorsque l'interpréteur termine l'analyse du code du script, il génère un code intermédiaire qui peut être exécuté directement, également appelé opcode (Operate Code, opcode). La mise en cache de l'opcode consiste à mettre en cache le code de l'opcode compilé dans la mémoire. La prochaine fois que vous exécuterez ce script, vous trouverez directement le code de l'opcode mis en cache et exécuterez directement la dernière étape sans avoir besoin d'étapes intermédiaires. Son but est d'éviter de répéter la compilation. réduire la surcharge du processeur et de la mémoire.

Mode de fonctionnement du cache :

La mise en cache des opcodes rend PHP encore plus puissant

opcache est un outil de mise en cache d'opcodes .

La plus grande différence entre Opcache et les autres outils de mise en cache, qui peut également être considérée comme son avantage, est qu'il est entré dans l'arborescence du code source de php et est devenu un produit officiel. Il sera toujours mis à jour avec php<.>, alors que les autres existent depuis longtemps. Il n'est plus mis à jour Actuellement, il ne prend pas en charge la nouvelle version de PHP ou a une mauvaise compatibilité. Deuxièmement, après tests, opcache est également plus efficace que les autres outils.

Alors, comment activer opcache ?

Maintenant que opcahce est entré dans l'arborescence des sources PHP, en tant qu'outil intégré, il doit être très simple à ouvrir. Voici la configuration recommandée :

zend_extension=.././...php_opcache.dll(路径)
opcache.memory_consumption=128   #共享内存opcache.interned_strings_buffer=8   #存储临时字符串opcache.max_accelerated_files=4000   #缓存文件数opcache.revalidate_freq=60  #缓存时间opcache.fast_shutdown=1opcache.enable_cli=1 opcache.enable=1   #是否开启opcode缓存
Copier après la connexion
Il vous suffit de le faire. pour supprimer le précédent; c'est tout.

Bien sûr, opcache a de nombreuses configurations, donc je ne les listerai pas toutes ici. Celles ci-dessus sont des configurations standards et peuvent répondre à des besoins généraux.

Théoriquement, plus le fichier PHP est volumineux et plus la logique est complexe, plus l'effet d'opcache sera évident, et il jouera un grand rôle en termes de vitesse et d'anti-concurrence.

Les résultats des tests dans l'environnement local sont les suivants (les performances de l'ordinateur sont limitées) :

La mise en cache des opcodes rend PHP encore plus puissant

Service test du serveur :

La mise en cache des opcodes rend PHP encore plus puissant

La mise en cache des opcodes rend PHP encore plus puissant

Il y a une amélioration significative de l'efficacité.

Il convient de noter que puisque opcache mettra en cache l'opcode qui est exécuté pour la première fois dans le fichier, il ne doit pas être ouvert dans l'environnement de test. La raison est que vous connaissez le code. est modifié pendant le développement, mais le résultat est différent. Inchangé…………..

Pour vider manuellement le cache opcache, vous devez exécuter opcache_reset() pour l'effacer, donc si opcache est configuré en ligne, il doit être effacé. Vous pouvez utiliser cette fonction.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal