ホームページ  >  記事  >  バックエンド開発  >  見て! PHPプログラムを高速化できる優れもの「Roadrunner」が登場!

見て! PHPプログラムを高速化できる優れもの「Roadrunner」が登場!

藏色散人
藏色散人転載
2021-10-15 15:32:233836ブラウズ

見て! PHPプログラムを高速化できる優れもの「Roadrunner」が登場!

Laravel Octane パッケージ (https://github.com/laravel/octane) が最近リリースされました。 Laravel を Swoole と RoadRunner にさらにフレンドリーにするために作成されました。私たちはしばらくの間、dev.family で php-fpm の代わりに RoadRunner を使用してきました。その経験を共有し、それがどのような利点があるかを明らかにすることにしました。

RoadRunner は、Go で書かれた高性能のオープンソース PHP アプリケーション サーバーです。 php-fpm との主な違いは、リクエストごとに新しい php プロセスを作成して強制終了する php-fpm とは異なり、RoadRunner は php の常駐プロセスと対話することです。 [推奨: PHP ビデオ チュートリアル ]

常駐プロセスの利点:

  • 起動に時間を無駄にしない
  • #データベースへの接続の作成に時間がかかりません
  • プロセス内で直接メモリ キャッシュを使用できる機能
このアプローチの欠点は、すべての PHP アプリケーションに適しているわけではないことです。コードは通常、リクエスト後に PHP プロセスが終了することを想定して書かれているためです。したがって、メモリ リークを監視し、グローバル状態を慎重に処理できる必要があります。したがって、レガシー プロジェクトは Roadrunner で起動できない場合があります。

ただし、Roadrunner には、静的フィードバック、応答圧縮、バランシングなど、他の便利な機能もあります。一般的なバンドルの機能は nginx にあります。 PHP Roadrunner を使用している場合は、それなしでアプリケーション (nginx) を起動できます。

RoadRunner は拡張も簡単です。そのコンポーネントを独自のアプリケーション サーバーに使用すると、たとえば、WebSocket を使用して Go 上でいくつかのリクエストを直接処理する機会が得られます。

RoadRunner 自体は新しい開発ではなく、すでに数年前から開発されています。ただし、Laravel Octane は公式にサポートされているため、フレームワークでそれを使用する準備が整っていることを確認できます。

実際のプロジェクトで小規模なテストを行い、php-fpm と roadrunner の速度を比較しました。結果は次のとおりです。

php-fpm:プレーン テキスト: 1150 RPS
単一クエリ: 530 RPS

roadrunner:プレーンテキスト: 2200 RPS
単一クエリ: 1600 RPS

プレーンテキスト -- 定数 JSON を返すクエリ
単一クエリ -- 単一のクエリの結果を JSON 形式でデータベースに返す Will Query

は、起動時間が短く、データベースへの永続的な接続を使用するため、大幅に高速になります。

元のアドレス: https://dev.to/dev_family/roadrunner-here-and-now-2oo9

翻訳アドレス: https://learnku.com/php/ t/61447

以上が見て! PHPプログラムを高速化できる優れもの「Roadrunner」が登場!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlearnku.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。