Maison > développement back-end > PHP7 > Un article expliquant comment optimiser et améliorer les performances de PHP7

Un article expliquant comment optimiser et améliorer les performances de PHP7

藏色散人
Libérer: 2023-02-18 09:14:01
avant
1926 Les gens l'ont consulté

PHP7 est sorti. En tant que plus grande mise à niveau de version 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. Cependant, afin de maximiser ses performances, il y a encore quelques choses. Je voudrais vous rappeler.

Un article expliquant comment optimiser et améliorer les performances de PHP7

1. Opcache

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

zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1"
Copier après la connexion

2. Utilisez un nouveau compilateur

Il est recommandé d'utiliser un compilateur plus récent, car GCC 4.8 ou supérieur ne sera pris en charge que par Global Register. activé en PHP avec GCC 4.8 ou supérieur, ce qui 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 : Bug, donc il doit s'agir de la version 4.8 ou supérieure pour activer cette fonctionnalité.

3 HugePage

Je l'ai également présenté dans mon article précédent : Hugepage pour rendre votre PHP7 plus rapide, activez d'abord HugePages dans le système, puis activez huge_code_pages d'Opcache.

Prenons mon CentOS 6.5 comme exemple. Allouez 512 énormes pages de mémoire réservées via :

$sudo sysctl vm.nr_hugepages=512
Copier après la connexion

 :

$ cat /proc/meminfo | grep Huge
AnonHugePages: 106496 kB
HugePages_Total: 512
HugePages_Free: 504
HugePages_Rsvd: 27
HugePages_Surp: 0
Hugepagesize: 2048 kB
Copier après la connexion

Puis ajoutez php.ini :

Le code est le suivant :

 opcache.huge_code_pages=1
Copier après la connexion

De cette façon, PHP utilisera ensuite. de grandes pages de mémoire pour enregistrer ses propres segments de texte et d'énormes allocations de mémoire pour réduire les échecs TLB et améliorer les performances

4 Cache de fichiers Opcache

Activez le cache de fichiers Opcache (expérimental), en l'activant, nous pouvons laisser le cache Opcache. l'opcode dans un fichier externe. Pour certains scripts, il y aura une amélioration significative des performances
Ajouter dans php.ini :

Le code est le suivant :

opcache.file_cache=/tmp
Copier après la connexion

De cette façon, PHP Certains fichiers d'exportation binaires d'Opcode seront mis en cache. dans le répertoire /tmp, qui peut exister tout au long du cycle de vie de PHP

5 PGO

Mon article précédent : Rendez votre PHP7 plus rapide (GCC PGO) a également été introduit, si votre PHP est spécifiquement conçu pour servir. un projet, comme juste pour votre WordPress, ou Drupal, ou autre chose, alors vous pouvez essayer d'utiliser PGO pour améliorer PHP et améliorer spécifiquement les performances de votre projet.

Spécifique, en prenant WordPress 4.1 comme scénario d'optimisation.. Tout d'abord , lors de la compilation de PHP :

Le code est le suivant :

$ make prof-gen
Copier après la connexion

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

Le code est le suivant :

$ sapi/cgi/php-cgi -T 100 /home/huixinchen/local/www/htdocs/wordpress/index.php >/dev/null
Copier après la connexion

C'est-à-dire, laissez php- CGI exécuter le 100 fois la page d'accueil WordPress pour générer des informations de profil au cours du processus. quand j'y repenserai plus tard, tout le monde est invité à essayer, merci

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:jb51.net
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