Maison > développement back-end > tutoriel php > Explication graphique et textuelle détaillée de l'expérience d'utilisation de PHP7 : performances considérablement améliorées, forte compatibilité et prise en charge insuffisante des extensions.

Explication graphique et textuelle détaillée de l'expérience d'utilisation de PHP7 : performances considérablement améliorées, forte compatibilité et prise en charge insuffisante des extensions.

黄舟
Libérer: 2023-03-14 14:20:01
original
1762 Les gens l'ont consulté

Cet article présente principalement l'amélioration des performances, une forte compatibilité et une prise en charge d'extension insuffisante de l'expérience d'installation et d'utilisation de PHP 7 (soyez prudent lors de la mise à niveau de PHP. Il est d'une grande valeur pratique. Les amis dans le besoin peuvent s'y référer

.

Avec la sortie de PHP 7, les performances et la compatibilité de PHP 7 sont devenues un sujet de discussion brûlant ces jours-ci. Les hautes performances de PHP 7 ont incité de nombreuses personnes à vouloir l'essayer. , et certaines personnes "l'essaient tôt" "Des amis ont déjà appliqué PHP 7 à l'environnement de production. Dans le même temps, des applications populaires telles que LNMP ont également été mises à jour en temps opportun et ont commencé à prendre en charge PHP 7.

En ce qui concerne les problèmes de performances PHP, je dois mentionner le HHVM que j'ai partagé auparavant. Il s'agit d'un outil développé par Facebook pour améliorer les performances PHP. Il utilise la compilation Just-In-Time (JIT) pour convertir PHP. code dans une sorte de bytecode. Au cours du processus de test réel, HHVM a constitué un saut qualitatif dans l'amélioration des performances de PHP. L'environnement d'exécution PHP efficace a amélioré les performances de PHP de plus de 9 fois.

Ces dernières années, PHP a été largement critiqué pour son problème de goulot d'étranglement en termes de performances. De nombreux développeurs ont abandonné PHP et ont fui. Les performances parfaites de HHVM sont très préjudiciables au développement de PHP. PHP 7 est la réponse de la communauté PHP à HHVM. La version officielle de PHP 7 a considérablement amélioré les performances de PHP. Des tests réels ont montré que les performances de PHP 7 dépassent celles de HHVM à certaines occasions.

Cet article vous apportera l'expérience d'installation et d'utilisation de PHP 7. Les amis qui souhaitent découvrir avec impatience les performances de PHP 7 devraient faire quelques tests de compatibilité de programme supplémentaires avant de mettre officiellement à niveau PHP, bien que le responsable ait déclaré PHP 7. a une compatibilité ascendante de 99 %, mais pour être sûr, nous devons toujours être prudents lorsque nous l'appliquons aux environnements de production.

Expérience d'installation et d'utilisation de PHP 7 : performances grandement améliorées, forte compatibilité, prise en charge des extensions insuffisante, soyez prudent lors de la mise à niveau de PHP

1. hautes performances de PHP 7 Plusieurs points clés

Par rapport à la version précédente de PHP, on peut dire que PHP 7 a un saut qualitatif en termes de performances, mais comme le dit le proverbe "un bon cheval va avec un bon selle, une bonne voiture va avec une voile", si vous voulez exploiter pleinement les avantages en termes de performances de PHP 7 nécessitent également une préparation sous les aspects suivants : (Cette partie est citée par le développeur principal de PHP7, auteur de Yaf, Yar, Yac et autres projets : Laruence).

1. N'oubliez pas d'activer Zend Opcache >

2. . Lors de l'utilisation d'un nouveau compilateur, GCC 4.8 ou supérieur est recommandé, car seul GCC 4.8 ou supérieur PHP 7 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 %.


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

3. L'activation de HugePage rendra PHP 7 plus rapide. Tout d'abord, activez HugePages dans le système, puis activez huge_code_pages d'Opcache. En prenant CentOS 6.5 comme exemple, passez la commande : $sudo sysctl vm.nr_hugepages=512, allouez 512 mémoire de page énorme réservée :

Ajoutez ensuite : opcache.huge_code_pages=1 à php.ini, comme ceci d'abord , PHP utilisera de grandes pages de mémoire pour enregistrer ses propres segments de texte et d'énormes allocations de mémoire, réduisant ainsi les échecs de TLB et améliorant les performances


4 Activez le cache de fichiers Opcache (expérimental), en activant cette option, Opcache peut mettre en cache. le cache opcode dans un fichier externe Pour certains scripts, il y aura une amélioration significative des performances. La méthode consiste à ajouter : opcache.file_cache=/tmp au php.ini. 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

$ 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
5. Si votre PHP est spécifiquement conçu pour servir un projet, par exemple uniquement pour votre WordPress, ou Drupal, ou autre chose, vous pouvez alors essayer d'utiliser PGO pour améliorer PHP et améliorer spécifiquement les performances de votre projet. Plus précisément, en prenant WordPress 4.1 comme scénario d'optimisation... Tout d'abord, lors de la compilation de PHP : $ make prof-gen.

6. 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, c'est-à-dire laisser php-cgi exécuter la page d'accueil de WordPress 100 fois, générant ainsi des informations de profil dans le processus. Enfin :

7. Le PHP7 que vous compilez en ce moment est la version compilée la plus performante adaptée à votre projet.


$ make prof-clean
$ make prof-use && make install
Copier après la connexion

2. Installation et compilation de PHP 7

1. Site officiel de PHP 7 :

2. -sur la capacité Les amis forts peuvent accéder directement au site officiel pour télécharger PHP 7, puis le modifier et l'installer manuellement. Si vous êtes habitué à utiliser le package d'installation en un clic LNMP du webmaster de lnmp.org, vous pouvez essayer la sortie de la version bêta LNMP 1.3, qui a ajouté le support php7 : une méthode pour migrer en douceur le site Web vers la création de sites Web LNMP ou LAMP. environnement.

3. Le package d'installation LNMP fourni par OneinStack dispose déjà d'une installation en un clic pour PHP 7. Lors de l'exécution du script, vous pouvez choisir l'installation de PHP 7. PHP 7 n'a actuellement que l'extension officielle Zend Opcache disponible pour l'installation. .

4. OneinStack a installé PHP 7 avec succès.

5. Il s'agit de l'affichage d'informations PHP 7.

6. Il s'agit du panneau de contrôle Opcache pour PHP 7 fourni par OneinStack.

3. Comparaison des performances entre PHP 7 et les anciennes versions de PHP et HHVM

1 Il s'agit de PHP 7 testé par des étrangers. développeurs Par rapport aux performances de PHP 5.6 sous des programmes populaires tels que WordPress et Drupal, il est évident que les performances de PHP 7 se sont beaucoup améliorées.

2. Pour des programmes tels que WordPress, PHP 7 améliore non seulement la vitesse d'exécution individuelle, mais plus WordPress fonctionne longtemps sur PHP 7, plus l'amélioration des performances est importante.

3. Comme mentionné ci-dessus, l'amélioration des performances de PHP 7 pour PHP a dépassé HHVM à certains égards. Il s'agit de PHP 5.6 donné par le site officiel de zend.com étranger, PHP. 7, résultats de comparaison de l'efficacité d'exécution HHVM sous différents programmes.

4. Testez l'efficacité d'exécution de PHP 5.6, PHP 7 et HHVM sur le système de commerce électronique open source professionnel Magento. PHP 7 est deux fois plus rapide que PHP 5.6 et l'utilisation de la mémoire est 30 % inférieure. que PHP 5.6.

5. L'efficacité des tests de PHP 7 sur Drupal 8 est la plus rapide, dépassant HHVM.

6. Lors du test WordPress, il a été constaté que PHP 5.6 nécessite 100 Mo de mémoire pour s'exécuter, tandis que PHP 7 ne nécessite que 25 Mo.

7. En termes de différentes vitesses d'exécution des programmes, PHP 7 est évidemment le leader, Python 2.7.8 et Perl 5.18.4 sont tous derrière PHP 7. .

4. Rapport sur les résultats des tests de performances PHP 7

1. Quelle est la performance du programme en cours d'exécution PHP 7? ? Du drap de laine ? Ici, la tribu utilise un tout nouveau WordPress comme objet de test. Le test du temps de chargement de la page d'accueil WordPress exécuté sur PHP 7 indique 0,029 seconde et la mémoire est de 3,39 Mo.

2. Il s'agit du temps de chargement de la même page WordPress exécutant PHP 5.6 : 1,955 secondes, et la mémoire occupée est de 3,92 Mo. Du point de vue des données, PHP 7 a complètement vaincu PHP 5.6.

3. L'efficacité de l'exécution de WordPress en PHP 7 a en effet été qualitativement améliorée par rapport à la version précédente. Afin de bien comprendre les performances de PHP 7, voici la. Performances Web selon la pression du serveur du site Web La méthode de test consiste à utiliser Webbench pour simuler 200 et 400 connexions en 10 secondes, et la vitesse est supérieure à 8 000 pages/minute.

4. À l'heure actuelle, la charge du système du serveur VPS est de 3,49.

5. Augmentez le nombre de connexions simulées à 1600, et la vitesse reste supérieure à 8000 pages/minute.

6. À l'heure actuelle, la charge du système du serveur VPS est de 17, ce qui devrait être un peu difficile.

7. Augmentez le nombre de connexions simulées à 5000, la vitesse est de 4800 pages/minute et la vitesse commence à ralentir.

8. À l'heure actuelle, la charge du système du serveur VPS est de 23 et le serveur est surchargé.

9. Afin de tester la limite d'endurance de PHP 7 sur cet hôte VPS, Webbench a simulé 10 000 connexions pour accéder en continu au serveur pendant 20 secondes.

10. À l'heure actuelle, la charge système du serveur VPS est proche de 90, ce qui aurait dû atteindre la limite, mais le serveur ne plante toujours pas.

11. Ensuite, examinons les résultats des tests de résistance du même hôte VPS configuré exécutant WordPress. Tout d'abord, utilisez Webbench pour simuler 200 et 400 connexions en 10 secondes. La vitesse est de 3 600 pages/minute, ce qui est deux fois moins lent que le test PHP 7 ci-dessus.

12. Il s'agit de la charge système de 200 et 400 connexions dans le test PHP 5.6. Elle a atteint 10, ce qui est nettement supérieur aux 3,49 testés dans le PHP 7. environnement.

13. Dans le test PHP 5.6, le nombre de connexions simulées a été augmenté à 1000 et 2000. A cette époque, la vitesse est tombée à 1600 pages/minute, et le nombre de connexions réussies est également tombé à 500. Environ 2 700 lors des tests avec PHP 7.

14. À ce moment, la charge du système a atteint 17.

15. Utilisez Webbench pour tester le nombre de connexions en PHP 5.6 à 10 000 et accédez en continu au serveur dans les 20 secondes. À ce stade, le test reste bloqué sans résultat.

16. La charge système du serveur VPS ici a atteint plus de 1 000 et le serveur est tombé en panne.

17. Le site WordPress sous PHP 5.6 est en panne.

5. Problèmes de compatibilité avec PHP 7

1 Actuellement, Discuz domestique et autres ne prennent pas en charge PHP 7 et les extensions PHP. ne pas Seul l'Opcache officiel peut être utilisé, d'autres comme eAccelerator, xcache, memcached, etc. Vous pouvez toujours faire attention à la liste de support étendue :

2. Après tests, PHP 7 exécute WordPress Pas de problème.

3. Il n'y a aucun problème pour installer le plug-in WordPress sur PHP 7.

4. PHP 7 peut avoir des problèmes d'incompatibilité avec certaines fonctions, opérateurs, etc., mais 99 % des programmes peuvent ne pas les utiliser.

6. Résumé de l'installation et de l'expérience d'utilisation de PHP 7

1 Une surprise après avoir utilisé PHP 7 est que, telles que testées par des développeurs étrangers, les performances de PHP 7 sont basiques. Il est comparable à HHVM. Étant donné que HHVM utilise un compilateur juste à temps (Just In Time) pour compiler le code PHP en instructions machine, de nombreux programmes PHP doivent être améliorés lorsqu'ils sont exécutés sur HHVM.

2. PHP 7 a les performances ultra-élevées de HHVM, et a en même temps l'avantage de la rétrocompatibilité PHP. Je pense que PHP 7 sera reconnu et accepté par de plus en plus de personnes dans le futur. avenir. Bien qu'il n'existe actuellement pas beaucoup d'extensions telles que la mise en cache et l'accélération qui prennent en charge PHP 7, ce n'est qu'une question de temps. De plus en plus de développeurs rejoindront les rangs du développement PHP 7.

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:php.cn
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