Maison > développement back-end > PHP7 > Découvrez comment PHP7 atteint des performances maximales

Découvrez comment PHP7 atteint des performances maximales

coldplay.xixi
Libérer: 2023-02-17 16:28:01
avant
3433 Les gens l'ont consulté

Découvrez comment PHP7 atteint des performances maximales

PHP7 a été publié. En tant que plus grande mise à niveau de version et plus grande mise à niveau de performances de PHP en 10 ans, PHP7 a très bien fonctionné dans plusieurs tests. L'amélioration des performances est évidente, cependant, afin de maximiser ses performances, je souhaite quand même vous rappeler quelques petites choses.

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 cela s'est produit lors de la période de test précédente. Quelqu'un n'a jamais activé Opcache. L'activation d'Opcache est très simple. Ajoutez

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

au fichier de configuration php.ini. Le compilateur

utilise 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 qui entraînera une amélioration des performances de 5 % (Wordpres mesuré à partir de la perspective QPS)

En fait, les versions antérieures à GCC 4.8 le prennent également en charge, mais nous avons constaté qu'il y a des bugs dans sa prise en charge, cette fonctionnalité doit donc être activée dans la version 4.8 ou supérieure.

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.

Prenez mon CentOS 6.5 comme exemple, passez :

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

Allouer 512 énormes pages mémoire réservées :

  1. $ 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 le php.ini :

  1.  opcache.huge_code_pages=1
    Copier après la connexion

De cette façon, PHP utilisera de grandes pages 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

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

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

    <🎜. >
De cette façon, 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. PGO

Si votre PHP est spécifiquement destiné à un projet, comme juste pour votre WordPress, ou Drupal, ou autre chose, alors vous pouvez essayer d'utiliser PGO pour améliorer PHP spécifiquement pour votre Ce projet améliore les performances

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

    $ make prof-gen
    Copier après la connexion
Ensuite, entraînez PHP avec votre projet, par exemple pour WordPress :

    $ 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 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
    Copier après la connexion
  1. À ceci. time Le PHP7 que vous compilez est la version compilée la plus performante adaptée à votre projet.

Tutoriel 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!

Étiquettes associées:
source:csdn.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