Maison >développement back-end >tutoriel php >Regarder! La bonne chose 'Roadrunner' qui peut accélérer les programmes PHP est là !

Regarder! La bonne chose 'Roadrunner' qui peut accélérer les programmes PHP est là !

藏色散人
藏色散人avant
2021-10-15 15:32:233892parcourir

Regarder! La bonne chose 'Roadrunner' qui peut accélérer les programmes PHP est là !

Le package Laravel Octane (https://github.com/laravel/octane) a été récemment publié. Il a été créé pour rendre Laravel plus convivial pour Swoole et RoadRunner. Nous utilisons RoadRunner au lieu de php-fpm dans dev.family depuis un certain temps et nous avons décidé de partager notre expérience et de révéler ses avantages.

RoadRunner est un serveur d'applications PHP open source hautes performances écrit en Go. La principale différence avec php-fpm est que RoadRunner interagit avec le processus résident de php, contrairement à php-fpm, qui crée et tue un nouveau processus php à chaque requête. [Recommandé : Tutoriel vidéo PHP]

Avantages des processus résidents :

  • Pas de temps perdu au démarrage
  • Pas de temps consacré à la création de connexions à la base de données
  • La possibilité d'utiliser le cache mémoire directement dans le processus

L'inconvénient de cette approche est qu'elle ne convient pas à toutes les applications PHP, car le code est généralement écrit en considérant que le processus PHP se terminera après la requête. Par conséquent, vous devez être capable de surveiller les fuites de mémoire et de gérer l’état global avec soin. Par conséquent, les anciens projets ne peuvent pas être lancés sur Roadrunner.

Cependant, Roadrunner possède d'autres fonctionnalités utiles telles que le retour statique, la compression de réponse et l'équilibrage. La fonctionnalité d'un bundle typique incombe à nginx. Si vous utilisez PHP Roadrunner, vous pouvez lancer l'application (nginx) sans celui-ci.

RoadRunner est également facile à étendre. Vous pouvez utiliser ses composants pour votre propre serveur d'applications et avoir la possibilité, par exemple, de traiter certaines requêtes directement sur Go à l'aide de websockets.

RoadRunner en lui-même n'est pas un nouveau développement, il a déjà quelques années. Cependant, avec le support officiel de Laravel Octane, vous pouvez être sûr que le framework est prêt à l'utiliser.

Nous avons fait un petit test sur un projet réel pour comparer la vitesse de php-fpm et roadrunner. Les résultats sont les suivants :

php-fpm :
texte brut : 1150 RPS
requête unique : 530 RPS

roadrunner :
texte brut : 2200 RPS
requête unique : 1600 RPS

texte brut -- Renvoyer des requêtes JSON constantes
requête unique – Les requêtes qui renvoient les résultats d'une seule requête à la base de données au format JSON

sont nettement plus rapides en raison du manque de temps de démarrage et de l'utilisation d'une connexion permanente à la base de données.

Adresse originale : https://dev.to/dev_family/roadrunner-here-and-now-2oo9

Adresse de traduction : https://learnku.com/php/t/61447

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