Maison  >  Article  >  développement back-end  >  Présentation de plusieurs paramètres pour ouvrir Opcache en PHP7 et optimiser les performances de PHP7

Présentation de plusieurs paramètres pour ouvrir Opcache en PHP7 et optimiser les performances de PHP7

coldplay.xixi
coldplay.xixiavant
2021-03-17 09:47:523217parcourir

Présentation de plusieurs paramètres pour ouvrir Opcache en PHP7 et optimiser les performances de PHP7

PHP7 a été publié. 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. peut exercer ses performances maximales, mais j'ai encore quelques choses à vous rappeler


Recommandé (gratuit) : PHP7.

PHP7 VS PHP5.6

1. Opcache

N'oubliez pas d'activer C'est Zend Opcache, car PHP7 est plus rapide même sans Opcache activé 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, ajoutez :

 zend_extension=opcache.soopcache.enable=1opcache.enable_cli=1"

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 peut Global L'inscription au support opline et execute_data sera activée, ce qui entraînera une amélioration des performances de 5 % (mesurée du point de vue QPS de Wordpres)

En fait, les versions de GCC antérieures à 4.8 le prennent également en charge, mais nous avons constaté qu'il y a Il y a des bugs dans son support, il doit donc être version 4.8 ou supérieure pour activer cette fonctionnalité.

3 HugePage

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

Prenons mon CentOS 6.5 comme exemple, allouez 512 mémoires de pages énormes réservées via :

 $sudo sysctl vm.nr_hugepages=512
:

 $ cat /proc/meminfo  | grep HugeAnonHugePages:    106496 kBHugePages_Total:     512HugePages_Free:      504HugePages_Rsvd:       27HugePages_Surp:        0Hugepagesize:       2048 kB
Puis ajoutez :

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

fichier Opcache. cache

Activer le cache de fichiers Opcache (expérimental). En activant cela, nous pouvons laisser Opcache mettre en cache le cache opcode dans un fichier externe. Pour certains scripts, il y aura des problèmes évidents

Ajouter :

 opcache.file_cache=/tmp
vers php.ini afin que PHP mette 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

我之前的文章: 让你的PHP7更快(GCC PGO) 也介绍过, 如果你的PHP是专门为一个项目服务, 比如只是为你的Wordpress, 或者drupal, 或者其他什么, 那么你就可以尝试通过PGO, 来提升PHP, 专门为你的这个项目提高性能.

具体的, 以wordpress 4.1为优化场景.. 首先在编译PHP的时候首先:

 $ make prof-gen

然后用你的项目训练PHP, 比如对于Wordpress:

 $ sapi/cgi/php-cgi -T 100 /home/huixinchen/local/www/htdocs/wordpress/index.php >/dev/null

也就是让php-cgi跑100遍wordpress的首页, 从而生成一些在这个过程中的profile信息.

最后:

 $ make prof-clean$ make prof-use && make install

这个时候你编译得到的PHP7就是为你的项目量身打造的最高性能的编译版本.

暂时就这么多吧, 以后想起来再加, 欢迎大家尝试, thanks

更多免费推荐:PHP7教程

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