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