Maison  >  Article  >  développement back-end  >  Découvrez plusieurs paramètres pour optimiser les performances de PHP7

Découvrez plusieurs paramètres pour optimiser les performances de PHP7

醉折花枝作酒筹
醉折花枝作酒筹avant
2021-06-16 09:22:353568parcourir

Cet article vous fera découvrir plusieurs paramètres pour optimiser les performances de PHP7. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Découvrez plusieurs paramètres pour optimiser les performances de PHP7

PHP7 a été publié. En tant que mise à niveau de version la plus importante et la plus grande mise à niveau de performances de PHP en 10 ans, PHP7 a montré des améliorations de performances évidentes dans plusieurs tests. Afin de maximiser ses performances, j'ai encore quelques petites choses à vous rappeler.

PHP7 VS PHP5.6

1 Opcache

N'oubliez pas d'activer Zend Opcache, car PHP7 est plus rapide même sans Opcache que PHP-5.6 avec Opcache activé, donc certaines personnes n'ont pas activé Opcache lors de la période de test précédente. L'activation d'Opcache est très simple, en php Ajoutez :

zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1"
<.> au fichier de configuration .ini 2. Utilisez un nouveau compilateur

Utilisez un compilateur plus récent, GCC 4.8 ou supérieur est recommandé, car seul GCC 4.8 ou supérieur PHP activera Global Register pour la prise en charge d'opline et d'execute_data, ce entraînera une amélioration des performances de 5 % (mesurée du point de vue QPS de Wordpres)

En fait, les versions antérieures à GCC 4.8 le prennent également en charge, mais nous avons constaté qu'il prend en charge les bugs, il doit donc l'être. Cette fonctionnalité ne sera être activé dans les versions 4.8 et supérieures.

3. HugePage

Mon article précédent a également présenté : Hugepage pour rendre votre PHP7 plus rapide, activez d'abord HugePages dans le système, puis activez huge_code_pages d'Opcache <.>

En prenant mon CentOS 6.5 comme exemple, allouez 512 énormes pages de mémoire réservées via :

$sudo sysctl vm.nr_hugepages=512
 :

$ cat /proc/meminfo  | grep Huge
AnonHugePages:    106496 kB
HugePages_Total:     512
HugePages_Free:      504
HugePages_Rsvd:       27
HugePages_Surp:        0
Hugepagesize:       2048 kB
puis dans php.ini Ajoutez :

opcache.huge_code_pages=1
De cette façon, PHP utilisera des pages de mémoire volumineuses pour enregistrer son propre segment de texte et une énorme allocation de mémoire, réduisant ainsi les échecs de TLB et améliorant les performances.

4. Cache de fichiers Opcache

Activer le cache de fichiers Opcache (expérimental). En activant cela, nous pouvons laisser Opcache mettre en cache le cache d'opcode dans un fichier externe, il y aura une amélioration significative des performances.

Ajoutez :

opcache.file_cache=/tmp

au php.ini. que PHP mettra en cache certains fichiers d'exportation binaires Opcode dans le répertoire /tmp, qui peuvent exister tout au long du cycle de vie de PHP

5. ) a également introduit que si votre PHP est spécifiquement destiné à un projet, comme uniquement pour votre WordPress, ou Drupal, ou autre chose, alors vous pouvez essayer d'utiliser PGO pour améliorer PHP, spécifiquement pour améliorer les performances de votre projet

.

Plus précisément, prenez WordPress 4.1 comme scénario d'optimisation. Tout d'abord, lors de la compilation de PHP, d'abord :

$ make prof-gen

Utilisez ensuite votre projet pour entraîner PHP, par exemple, pour WordPress :

$ sapi/cgi/php-cgi -T 100 /home/huixinchen/local/www/htdocs/wordpress/index.php >/dev/null
Cela. c'est-à-dire, laissez php-cgi exécuter la page d'accueil de WordPress 100 fois pour générer des informations de profil dans le processus.

Enfin :

$ make prof-clean$ make prof-use && make install
Le PHP7 que vous compilez en ce moment est la version compilée la plus performante sur mesure pour votre projet.

C'est tout pour l'instant, j'en ajouterai plus quand j'y penserai plus tard. Tout le monde est invité à essayer, merci

Apprentissage recommandé :

Tutoriel vidéo 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer