質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Q&A

解決済

1回答

5616閲覧

Laravelが遅い。Hello world 表示に200ミリ秒かかるのをどうにかしたい

Gian

総合スコア1

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

0グッド

0クリップ

投稿2021/12/07 00:53

前提・実現したいこと

Laravelの初心者です。自分のPC(Localhost)上でまずはコーディングしていますが、どうも動きがシャープではありません。Chromeの開発者機能で見てみると、メインページの読み込みに200ミリ秒かかっていて、その内訳はほぼ全て Waiting(TTFB)でした。
サーバ側の処理が重いという理解です。

軽い処理なら早くなるのか、と思って、test.blade.php に hello world と記述して web.php に Route::get('/test', function () {return view('test');});  とだけ書いて http://localhost/test にアクセスしてみるとやはり200ミリ秒ほどかかります。

当然ながら、test.html に hello world とだけ書いてLaravelを介さずに表示させてみると数ミリ秒で表示されます。

多分web.php のルーティング周りで時間が掛かっているように思うのですが、これを軽くすることはできないでしょうか?

発生している問題・エラーメッセージ

testの読み込み時間
testの読み込み時間の内訳

該当のソースコード

test.blade.php

php

1<!doctype html> 2<html lang="ja"> 3 <body> 4 <p>hello world</p> 5 </body> 6</html>

web.php

php

1<?php 2 3use Illuminate\Support\Facades\Route; 4Route::get('/test', function () {return view('test');}); 5

補足情報(FW/ツールのバージョンなど)

Laravel はバージョン8系を使っています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/12/07 01:17

Laravel 8の実行環境についての説明を追加してください。自分のPC上のサーバーなのであれば、PC自体のスペック(OS、バージョン、物理メモリ量、HDD or SSDなど)も添えてほしいです。コーディング用エディタについても知りたいです。
Gian

2021/12/07 01:26

確かに、、質問は始めてでして大変失礼しました。 PCは Microsoft Surface Pro CPU: Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz 2.11 GHz メモリ:16G OS: Windows10 Pro ストレージはSSD コーディング用エディタはVS Code or 秀丸 ひょっとして、、と気になっているのが以下でして; XAMPP というApache のラッパーのようなもの??でウェブサーバを立てて、この中の、公開フォルダ(htdocs) の中にLaravel の開発用フォルダを入れて実験しています。
Gian

2021/12/07 01:39

XAMPP で動かしていることは多分問題ないようです。 開発用フォルダを他の場所に移して php artisan serve で動かしても、hello world 表示にやはり200ミリ秒強かかりました。
Gian

2021/12/07 01:54

追加情報です。以下を実施し20ミリ秒早くなりました。 php artisan config:cache 20ミリ秒早くなった 200 -> 180msec php artisan route:cache  効果無し php artisan view:cache  効果無し
m.ts10806

2021/12/07 02:16 編集

サーバーサイド言語+フレームワーク利用だとそんなもんだとは思います。もっと処理を入れてみないことにはパフォーマンスの是非は計れないかと。 テンプレートエンジンだと表示用に裏で置換処理が動いてたりしますからね。
退会済みユーザー

退会済みユーザー

2021/12/07 02:18

GitHub - barryvdh/laravel-debugbar: Laravel Debugbar (Integrates PHP Debug Bar) https://github.com/barryvdh/laravel-debugbar とか加えるともっと遅くなりそうだし、デバッグ用に影で色々やってくれてることもあるかと思われます。
guest

回答1

0

ベストアンサー

デスクトップPCが3GHzとか4GHzなどで動作する一方で、
ノートPCだと2GHzくらいと少しスペックが落ちていて「そもそも遅め」というのも踏まえつつ、
ノートPCでのパフォーマンス設定をあちこち点検してみるのも良いかもしれません。

タスクトレイにあるバッテリーアイコンをクリックすると、
電源モードの選択が出来ます。
スライダーを右に動かして「最も高いパフォーマンス」っていうのにすると、
少しは反応が良くなるかもしれません。

もしもSurface Pro本体が触れないくらい激しく熱を持っていたりすると、
故障を防ぐために動作速度を自動的に抑えるようになっていたりしますので、
冷却台を組み合わせるなどする必要があります。

野暮ったいですが、タスク マネージャ上で動作中の httpd.exe を探して、
プロセスの優先度を通常以上や高に変えても、
そんなに変わらないと思います。

XAMPPによるapache httpdはあくまで学習用にとどめておいたほうが良いでしょう。
Windows上で動かすwebサーバープログラムはそんなにパフォーマンスは良くないです。
パフォーマンスを引き出すためにhttpd.confなど変更することも良いですが、
WSL(Windows Subsystem for Linux)を有効にしてUbuntuなど立ち上げるか、
Oracle VirtualBoxやVMware Workstation Playerなどの仮想OSソフト上でUbuntuやCentOSなどLinuxを立ち上げた上で、
apache2やnginxなどをいじったほうが学べるところが大きいと思います。
(よりホンモノに近いもので動かすのが本気の開発になるかと。)

あくまで今はPHPやLaravelの学習にとどめたいのであれば、
現時点の反応速度で気にしないことです。
デバッグ用設定が有効になっていると、そんなものだと思いますので。

設定 8.x Laravel

最も、本番環境向けにリリースする場合には、
.env によるデバッグ設定を解除することになると思いますので、
そうすればパフォーマンスも上がるかと。

投稿2021/12/07 02:16

編集2021/12/07 02:24
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Gian

2021/12/07 04:20

皆様ありがとうございました。Laravelで200ミリ秒くらいは、まあ、そんなもの、、という感じなのですね。 古臭いPHPのフレームワークで Smarty というのがありますが、これで hello world を表示させると 20ミリ秒くらいでした。 今回Windows上でミリ秒をで刻む必要があったので調べてみました。あまり表示時間を細かく気にしたことがなかったので大変勉強になりました。 ありがとうございました。
退会済みユーザー

退会済みユーザー

2021/12/07 04:58

であればなおのこと、Windows上に直接httpdを動かすのではなく、 なんらかのLinux環境(WSL2+Ubuntuとか)で立ち上げることをおすすめしたいです。 Laravelは大なり小なり様々なパッケージが組み合わさっていて規模が大きいので、 どうしても重たいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問