検索
ホームページPHPフレームワークLaravelLaravel から 15 ミリ秒で「hello world!」を返す方法

laravel の次のチュートリアル コラムでは、Laravel が 15 ミリ秒以内に「hello world!」を返すようにする方法を紹介します。それを必要としている友達に届けます。助けてください!

まず、最も基本的な Hello world! という文字列を返すのが、Laravel をベースにしたプロジェクトの中で最も基本的なリクエスト処理だと思います。さらに、プロジェクト内の http リクエストは、ビジネス ロジックやデータベース クエリなど、より時間のかかる操作を実行することになり、これらのロジックの実行時間は制御不能で比較できません。言い換えれば、他のリクエストは Hello world! 文字列を返すよりも時間がかかります。したがって、最も基本的な Hello world リクエストの応答時間を比較することで、起動から実行の終了まで、Laravel フレームワークに対するさまざまな最適化の影響を確認できます。

推奨: 最新の 5 つの Laravel ビデオ チュートリアル

テスト パラメーター

#PHP バージョン##PHP-FPM
パラメータ バージョン
サーバー 1c プロセッサ、1G メモリ、1M 帯域幅
##8.0 ##プロセス管理
#

デフォルト設定の応答時間

让你的Laravel在 15 毫秒内返回一个

デフォルト設定で PHP をインストールした後、Hello world!平均して約 140ms かかります。次に、始めましょう!

ラウンド 1: Laravel キャッシュ

Laravel は、キャッシュ機能を有効にする非常に便利な artisan コマンドを提供します。ファイルの読み取り回数を効果的に削減します。 phpArtisanoptimizeコマンドには、phpArtisanconfig:cacheおよびphpArtisanRoute:cacheコマンドが含まれていますが、もう1つのFilesが表示されます。 .キャッシュ。次の 5 つのコマンドを順番に実行します:

root@Aliyun-ECS / # php artisan optimize
root@Aliyun-ECS / # php artisan config:cache
root@Aliyun-ECS / # php artisan event:cache
root@Aliyun-ECS / # php artisan route:cache
root@Aliyun-ECS / # php artisan view:cache

応答時間を見てみましょう:

让你的Laravel在 15 毫秒内返回一个

Laravel## であることがわかります。 # のキャッシュは基本的なリクエストであり、目立った影響はありません。

ラウンド 2: opcache をオンにする

今回は、最も明らかな高速化効果が得られる方法を使用することにしました:

オンにする opcache拡張子remi ソースを使用して php8 をインストールしたため、ここで opcache 拡張機能をインストールする方が簡単です。他のバージョンのインストールについては、自分で Google で調べてください。 。

root@Aliyun-ECS / # yum install php80-php-opcache
インストールが完了するのを待った後、

php を再起動し、拡張機能がインストールされているかどうかを確認します:

root@Aliyun-ECS / # systemctl restart php80-php-fpm
root@Aliyun-ECS / # php -i|grep opcache.enable
opcache.enable => On => On
opcache.enable_cli => On => On
opcache.enable_Laravel から 15 ミリ秒で「hello world!」を返す方法_override => Off => Off
ok、

opcache 拡張機能が有効になりました。Hello world! の応答時間を見てみましょう:

让你的Laravel在 15 毫秒内返回一个##OHHHHHH!効果は非常に明白で、突然

30ms

以内に低下し、応答時間が 5 倍 近く改善されます。 opcache がキャッシュに書き込んでいるため、最初のリクエストは遅くなることに注意してください。1 回のアクセスの後、速度は急激に上がります。ここで満足ですか?記事のタイトルを見てください、私たちはさらに努力する必要があります!

ラウンド 3: swoole をオンにする

swoole

モジュールが事前にアプリケーションをメモリにロードして、リクエストを処理するときに、ファイルの読み取りとロードのプロセスが軽減され、PHP ウィングが提供されます。以下の swoole 拡張機能をインストールします。他のバージョンについては Google で調べてください。 <pre class="brush:php;toolbar:false">root@Aliyun-ECS / # yum install php80-php-pecl-swoole</pre> いつものように、インストール後、インストールが成功したかどうかを確認します。

root@Aliyun-ECS / # systemctl restart php80-php-fpm
root@Aliyun-ECS / # php -i|grep swoole.enable
swoole.enable_coroutine => On => On
swoole.enable_library => On => On
swoole.enable_preemptive_scheduler => Off => Off

拡張機能は有効になっていますが、まだテストできません。

swoole

cli モードの拡張機能であるため、php-fpm は使用できません。したがって、http アプリケーションを cli モードで実装する必要があります。しかし実際には、http アプリケーションを自分たちで手動で作成する必要はなく、コミュニティにはすでにアプリケーションを作成している偉人がいます。ことわざにあるように、「先祖は木を植え、将来の世代はその日陰を楽しむ。」 laravel-swoole ソフトウェア パッケージを導入し、http サービスを開始します。これは非常に簡単です。 <pre class="brush:php;toolbar:false">// 引入软件包 root@Aliyun-ECS / # composer require swooletw/laravel-swoole // 发布配置文件 root@Aliyun-ECS / # php artisan vendor:publish --tag=laravel-swoole</pre>上記の 2 つの手順を実行すると、プロジェクトの

config

ディレクトリに 2 つの構成ファイル swoole_httpswoole_websocket が見つかります。基本的な Hello world! テスト。デフォルト設定を変更する必要はありません。SWOOLE_HTTP_HOST=0.0.0.0 と ## を .env ファイルに追加するだけです。プロジェクト #SWOOLE_HTTP_PORT=2020。これは、2020 ポートで http リスニング プログラムを開始することを意味します。 0.0.0.0 は、任意の IP にリモートからアクセスできることを意味します。

// .env
SWOOLE_HTTP_HOST=0.0.0.0
SWOOLE_HTTP_PORT=2020
基本的な構成の変更が完了しました。laravel-swoole の

http アプリケーションを開始します。

root@Aliyun-ECS / # php artisan swoole:http start
Starting swoole http server...Swoole http server started: <http:></http:>
この時点では、## にアクセスします。 #2020Port では、swoole

を使用して展開されたアプリケーションをテストできます。リクエストの応答時間を見てみましょう:

いいですね!

15ms让你的Laravel在 15 毫秒内返回一个 以内に直接実行してください。

opcache

がオンになっていてキャッシュが書き込まれるため、初回は時間がかかります。ただし、ここでの opcache 書き込みキャッシュは、opache 拡張機能のみを開く Round 2 の書き込みキャッシュよりもはるかに高速です。これはすべて swoole の結果です。 <h1> <span class="header-link octicon octicon-link"></span>結論</h1> <p><code>opcache を有効にせず、swoole 拡張機能のみを有効にして再度テストしたところ、応答時間が2 つと同じ 応答時間は、有効になっている両方の拡張機能で同じです。つまり、swoole を導入した後は、opcache は役に立たなくなるということですか?これについては偉い人たちにアドバイスを求めなければなりません。以下に簡単な比較を示します。

让你的Laravel在 15 毫秒内返回一个

実際の比較により、opcache 拡張機能と swoole 拡張機能を同時に有効にすることがわかります。 time の応答時間が最も速くなります。

その他の質問

  • PHP-FPM プロセス管理、マスター プロセスはなぜ作成されるのですか?非科学的

ありがとう

@Hesunfly さん、ご回答ありがとうございます。コマンドラインで php -i モードを使用して表示される拡張情報が、ページ上で phpinfo() を使用して表示される拡張情報と一致しない場合があります。以下は @Hesunfly の元の言葉からの引用です:
「一部のディストリビューションは、clifpm の構成を共有しています。たとえば、 for mac brew でインストールされた php には php.ini が 1 つしかありませんが、centos と ubuntu にインストールする場合、通常は clifpm を区別します。 "
Laravel から 15 ミリ秒で「hello world!」を返す方法

以上がLaravel から 15 ミリ秒で「hello world!」を返す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はlearnkuで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Laravelの主な機能:バックエンド開発Laravelの主な機能:バックエンド開発Apr 15, 2025 am 12:14 AM

バックエンド開発におけるLaravelのコア機能には、ルーティングシステム、Eloquentorm、移行機能、キャッシュシステム、キューシステムが含まれます。 1.ルーティングシステムは、URLマッピングを簡素化し、コードの組織とメンテナンスを改善します。 2.Eloquentormは、開発効率を改善するためにオブジェクト指向のデータ操作を提供します。 3.移行関数は、バージョン制御を介してデータベース構造を管理して、一貫性を確保します。 4.キャッシュシステムは、データベースクエリを削減し、応答速度を向上させます。 5.キューシステムは、大規模なデータを効果的に処理し、ユーザー要求のブロックを避け、全体的なパフォーマンスを改善します。

Laravelのバックエンド機能:データベース、ロジックなどLaravelのバックエンド機能:データベース、ロジックなどApr 14, 2025 am 12:04 AM

Laravelは、バックエンド開発で強く機能し、Eloquentorm、コントローラー、サービスクラスを介してデータベース操作を簡素化し、ビジネスロジックを処理し、キュー、イベント、その他の機能を提供します。 1)Eloquentormは、モデルを介してデータベーステーブルをマップしてクエリを簡素化します。 2)ビジネスロジックは、モジュール性と保守性を向上させるために、コントローラーとサービスクラスで処理されます。 3)キューシステムなどのその他の機能は、複雑なニーズの処理に役立ちます。

Laravelの汎用性:単純なサイトから複雑なシステムまでLaravelの汎用性:単純なサイトから複雑なシステムまでApr 13, 2025 am 12:13 AM

Laravel Developmentプロジェクトは、さまざまなサイズと複雑さのニーズに合う柔軟性とパワーのために選択されました。 Laravelは、ルーティングシステム、Eloquentorm、Artisan Command Lineおよびその他の機能を提供し、簡単なブログから複雑なエンタープライズレベルのシステムへの開発をサポートしています。

Laravel(PHP)vs。Python:開発環境とエコシステムLaravel(PHP)vs。Python:開発環境とエコシステムApr 12, 2025 am 12:10 AM

開発環境とエコシステムにおけるLaravelとPythonの比較は次のとおりです。1。Laravelの開発環境は簡単で、PHPと作曲家のみが必要です。 Laravelforgeなどの豊富な範囲の拡張パッケージを提供しますが、拡張パッケージのメンテナンスはタイムリーではない場合があります。 2。Pythonの開発環境もシンプルで、PythonとPIPのみが必要です。エコシステムは巨大で複数のフィールドをカバーしていますが、バージョンと依存関係の管理は複雑な場合があります。

LaravelとThe BackEnd:Webアプリケーションロジックの電源LaravelとThe BackEnd:Webアプリケーションロジックの電源Apr 11, 2025 am 11:29 AM

Laravelはバックエンドロジックでどのように役割を果たしますか?ルーティングシステム、Eloquentorm、認証と承認、イベントとリスナー、パフォーマンスの最適化を通じてバックエンド開発を簡素化および強化します。 1.ルーティングシステムにより、URL構造の定義とリクエスト処理ロジックが可能になります。 2.Eloquentormは、データベースの相互作用を簡素化します。 3.認証および承認システムは、ユーザー管理に便利です。 4.イベントとリスナーは、ゆるく結合したコード構造を実装します。 5.パフォーマンスの最適化により、キャッシュとキューイングを通じてアプリケーションの効率が向上します。

Laravelがそんなに人気があるのはなぜですか?Laravelがそんなに人気があるのはなぜですか?Apr 02, 2025 pm 02:16 PM

Laravelの人気には、単純化された開発プロセスが含まれ、快適な開発環境を提供し、豊富な機能が提供されます。 1)Rubyonrailsの設計哲学を吸収し、PHPの柔軟性を組み合わせています。 2)Eloquentorm、Bladeテンプレートエンジンなどのツールを提供して、開発効率を向上させます。 3)そのMVCアーキテクチャと依存関係噴射メカニズムにより、コードがよりモジュール化され、テスト可能になります。 4)キャッシュシステムやベストプラクティスなどの強力なデバッグツールとパフォーマンス最適化方法を提供します。

どちらが良いのか、DjangoとLaravel?どちらが良いのか、DjangoとLaravel?Mar 28, 2025 am 10:41 AM

DjangoとLaravelはどちらもフルスタックのフレームワークです。 DjangoはPython開発者や複雑なビジネスロジックに適していますが、LaravelはPHP開発者とエレガントな構文に適しています。 1.DjangoはPythonに基づいており、迅速な発展と高い並行性に適した「バッテリーコンプリート」哲学に従います。 2. LaravelはPHPに基づいており、開発者エクスペリエンスを強調しており、小規模から中規模のプロジェクトに適しています。

どちらがより良いPHPですか、それともLaravelですか?どちらがより良いPHPですか、それともLaravelですか?Mar 27, 2025 pm 05:31 PM

LaravelはPHPベースのフレームワークであるため、PHPとLaravelは直接匹敵するものではありません。 1.PHPは、シンプルで直接的であるため、小規模プロジェクトや迅速なプロトタイピングに適しています。 2。LARAVELは、豊富な機能とツールを提供するため、大規模なプロジェクトや効率的な開発に適していますが、急な学習曲線があり、純粋なPHPほど良くない場合があります。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール