Préface
Il est onze heures et demie, et il est il est temps de s'installer.Lorsque PHP est en cours d'exécution, il existe un tel processus. Le code PHP est d'abord pré-compilé, le bytecode est généré puis chargé dans la mémoire. Enfin, le CPU exécute les octets compilés sur le. fragment de code de mémoire. Nous constaterons que lors de l'exécution d'un programme PHP, nous passons par un tel processus à chaque fois. Ce n'est pas une perte de temps. Oui, il est facile de penser : pourquoi ne pas suivre le langage C++ et compiler le code source dans un fichier qui. peut être directement chargé dans la mémoire, alors Où est mon frère ? Euh-hein ?. Sortez votre fusil et chargez cette balle . Depuis la sortie de PHP5.5.0, cette extension zend a été intégrée.
Qu'est-ce que OPcache
OPcache améliore les performances de PHP en stockant le bytecode précompilé des scripts PHP dans la mémoire partagée. L'avantage du stockage du bytecode précompilé est qu'il évite la surcharge de chargement et d'analyse des scripts PHP à chaque fois.
OPcache
Jugez s'il a été étendu OPcache
➜ ~ php -m | grep OPcache Zend OPcache Zend OPcache
OPcache
➜ ~ echo zend_extension="opcache.so" >> /home/samego/service/php7.2/php.ini
À propos de la configuration d'OPcacheEnsuite, nous devons activer OPcache dans PHP fichier de configuration (La valeur par défaut est désactivée) :
opcache.enable=1
Continuons à faire quelques configurations d'optimisation pour OPcache :opcache.memory_consumption=512Copier après la connexion
Cette configuration indique l'espace mémoire (unité : Mo) que vous souhaitez allouer à OPcache , définissez Une valeur supérieure à 64 fera l'affaire.opcache.interned_strings_buffer=64Copier après la connexion
Cette configuration indique l'espace (unité : Mo) que vous souhaitez allouer à la chaîne réelle. Définissez simplement une valeur supérieure à 16.
opcache.max_accelerated_files=32531
Cette configuration indique combien de scripts peuvent être mis en cache. Définissez cette valeur aussi proche que possible (ou supérieure) du nombre de scripts contenus dans le projet. opcache.validate_timestamps=0
opcache.save_comments=1
opcache.fast_shutdown=0
opcache.enable=1 opcache.memory_consumption=512 opcache.interned_strings_buffer=64 opcache.max_accelerated_files=32531 opcache.validate_timestamps=0 opcache.save_comments=1 opcache.fast_shutdown=0
installer你可以使用这些配置值进行实验,具体配置值取决于你的应用大小和服务器配置。
➜ ~ composer require appstract/laravel-opcache
➜ ~ php artisan vendor:publish --provider="Appstract\Opcache\OpcacheServiceProvider" --tag="config"
# Clear OPcache: ➜ ~ php artisan opcache:clear # Show OPcache config: ➜ ~ php artisan opcache:config # Show OPcache status: ➜ ~ php artisan opcache:status # Pre-compile your application code: ➜ ~ php artisan opcache:optimize
1000 requêtes, prenant 32,32 secondes, 30,94 requêtes par seconde
Transactions: 1000 hits Availability: 100.00 % Elapsed time: 32.32 secs Data transferred: 0.97 MB Response time: 0.32 secs Transaction rate: 30.94 trans/sec Throughput: 0.03 MB/sec Concurrency: 9.96 Successful transactions: 1000 Failed transactions: 0 Longest transaction: 0.44 Shortest transaction: 0.11
1000 requêtes, en 2,94 secondes, 340,14 requêtes par secondecase non-extension
Transactions: 1000 hits Availability: 100.00 % Elapsed time: 2.94 secs Data transferred: 0.97 MB Response time: 0.03 secs Transaction rate: 340.14 trans/sec Throughput: 0.33 MB/sec Concurrency: 9.86 Successful transactions: 1000 Failed transactions: 0 Longest transaction: 0.29 Shortest transaction: 0.01
En voyant cet ensemble de données, je suis très heureux, extrêmement heureux. En termes de performances, il y a un contraste tellement fort que je ne dirai rien~OPcache a raison
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!