Cet article présente principalement l'utilisation de l'extension hidef au lieu de la définition en PHP pour améliorer les performances. Cet article se concentre sur le test des performances de hidef, et présente également la méthode d'installation et des exemples d'utilisation. Les amis dans le besoin peuvent s'y référer
Le site Web a besoin d'un nouvel ajout d'une constante, ouvrez le fichier config.php local et pensez aux solutions hidef et apc pour améliorer les performances de définition qui ont été testées il y a quelques années.Mon programme a différentes configurations pour les serveurs de développement, de test et de production. En termes de constantes, j'utilise un tableau pour définir toutes les constantes qui doivent être définies, puis je vérifie s'il existe une fonction apc_load_constants. , définition par lots. Lorsque vous utilisez apc, chaque fois que vous ajoutez une constante, vous devez modifier $key pour prendre effet.
Jetons un coup d'œil aux performances de lecture. Le test lit une fois constante 1w, et les valeurs sont toutes 1, qui sont respectivement de 37 ms et 0,7 ms. Donc, si 10 millions de fois par jour, une moyenne de 20 constantes sont utilisées par page, cela prendra 740 secondes, et l'utilisation de hidef dure 14 secondes, enfin, encore plus de 700 secondes.
Économiser 1 400 secondes de temps d'exécution PHP par jour peut être insignifiant, mais c'est toujours une bonne chose et cela vaut la peine d'essayer. Après tout, les chances de modifier les paramètres sont très faibles.
Lorsque les paramètres définis doivent être modifiés, modifiez simplement le fichier de configuration puis rechargez php-fpm.
gg recherche "hidef php", le premier site officiel, le troisième est. un autre article original, et le mien est dans le quatrième. Identification de gg Pas mal !
Cet article est né pour voir s'il peut aider. Vous pouvez classer le premier article ou celui-ci 0
Le code est le suivant :
if (function_exists('apc_load_constants')) { function define_array($key, $arr, $case_sensitive = false) { if (!apc_load_constants($key, $case_sensitive)) { apc_define_constants($key, $arr, $case_sensitive); } } } else { function define_array($key, $arr, $case_sensitive = false) { foreach ($arr as $name => $value) { define($name, $value, $case_sensitive); } } } $constants = array( 'HX' => 1, 'BLOG_URL' => '//www.jb51.net/', 'WWW_URL' => '//www.jb51.net/', ); define_array('hx_defined',$constants);
Le code est le suivant :
<?php $t1 = microtime(1); $constants = array( 'hx1' => 1, 'hx2' => '2', 'hx3' => '3', 'hx4' => '4', 'hx5' => '5', 'hx6' => '6', 'hx7' => '7', 'hx8' => '8', 'hx9' => '9', 'hx10' => '10', ); function define_array($key, $arr) { foreach ($arr as $name => $value) { define($name.$i, $value); } } for($i=0;$i<100;$i++) { define_array($i,$constants); } $t2 = microtime(1); echo ($t2-$t1)*1000; //读性能 $t1 = microtime(1); for($i=0;$i<10000;$i++) { $t = hx1; } $t2 = microtime(1); echo ' '.($t2-$t1)*1000; $t1 = microtime(1); for($i=0;$i<10000;$i++) { $t = HX; } $t2 = microtime(1); echo ' '.($t2-$t1)*1000;
: Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il pourra être utile. Il sera utile à l'apprentissage de chacun
Recommandations associées :Opérations PHP pour lire, éditer et enregistrer des fichiersComment utiliser PHP combiné avec la communication websocket html5Comment implémenter un service Web en php
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!