ホームページ  >  記事  >  バックエンド開発  >  Laravel プロジェクトの速度最適化の簡単な分析

Laravel プロジェクトの速度最適化の簡単な分析

*文
*文オリジナル
2018-01-03 14:42:131812ブラウズ

私は最近 Laravel フレームワークを学習しており、Laravel Web サイトのパフォーマンスを向上させるいくつかの方法をまとめたプロジェクトを自分で作成しました。この記事では、Laravel の Web サイトを開く速度を最適化する方法を中心に紹介します。必要な方はぜひ参考にしてください。お役に立てれば幸いです。

はじめに

Laravel は、多くのコンポーネントと膨大なコードを備えた強力なフレームワークですが、それでもパフォーマンスは犠牲になっていますが、正式な環境では次のステップになります。ウェブサイトを開く速度を最適化し改善することです。次の記事では主に、Laravel Web サイトを開く速度を最適化するためのいくつかの方法とテクニックを紹介します。早速、詳細な紹介を見てみましょう:

1. デバッグをオフにします

.env を開きます。ファイルを false に設定します。

APP_ENV=local
APP_DEBUG=false
APP_KEY=base64:sT/aTFeaE13eyao1Raee6jC9Ff+Yle1SE+wtyk0H6B4=

2. キャッシュのルーティングと構成

3. Laravel 最適化コマンド

4. Composer の最適化

れーれー

5. Laravel Cache の使用

Laravel の Cache メソッドを使用して、ファイル キャッシュ、データベース キャッシュ、redis キャッシュなどのコンテンツをキャッシュします。redis を使用するときに predis コンポーネントを使用したり、複数のキャッシュ メソッドを組み合わせたりすることもできます。

php artisan route:cache

php artisan config:cache

6. CDN を使用する

Qiniu CDN は毎月 20G のトラフィックと 20G のストレージ容量を提供します。これは小規模なサイトには完全に十分です。

7. PHP 7 を使用して OPcache を有効にする

PHP 7 のパフォーマンスを向上させるためのいくつかのヒント。最初の 1 つは、原文からの引用:

Zend Opcache を有効にすることを忘れないでください。 Opcache が有効になっていない場合でも、PHP7 は PHP-5.6 よりも高速です。そのため、前回のテスト期間中に、誰かが Opcache を有効にしませんでした

私の Alibaba Cloud サーバーは、centos ソースを通じて提供された PHP 7 です。 yum list yum70* コマンドを使用して検索すると、確かにそこにあるので、インストールします:

php artisan optimize

次に、php-fpm を再起動して使用します。 service php70-php-fpm restart コマンド。 (さまざまなシステムや環境では、それぞれの条件に従って opache をインストールして有効にします)

yum list yum70*命令搜索一下,果然有,于是install下来:

sudo composer dump-autoload --optimize

然后重启php-fpm,使用service php70-php-fpm restart命令。(不同的系统和环境根据自己的情况安装和开启opache)

新建一个php文件,用phpinfo()函数显示php.ini信息,如果可以找到OPcache项,说明成功启用了。安装和启用PHP 7,就是给PHP 7再加一个翅膀!

八、nginx开启gzip压缩

在服务器Nginx开启gzip压缩是优化网站性能的方法之一,可以有效减少服务器带宽的消耗,缺点是会增大CPU的占用率,但是很多时候CPU往往是空闲最多的。

引用nginx官网的介绍:

The ngx_http_gzip_module module is a filter that compresses responses using the “gzip” method. This often helps to reduce the size of transmitted data by half or even more.

在Nginx开启gzip压缩

打开nginx.conf文件,添加如下:

$lists = Cache::remember('travel.destination.lists', 20, function () {
 return $this->destination->getList();
});

gzip参数介绍

GZIP ON|OFF

开启或者关闭gzip模块

GZIP_MIN_LENGTH 1000

设置允许压缩的页面最小字节数,页面字节数从header头中的Content-Length中进行获取。默认值是0,不管页面多大都压缩。建议设置成大于1k的字节数,小于1k可能会越压越大。 即: gzip_min_length 1024

GZIP_PROXIED EXPIRED NO-CACHE NO-STORE PRIVATE AUTH;

Nginx作为反向代理的时候启用,开启或者关闭后端服务器返回的结果,匹配的前提是后端服务器必须要返回包含”Via”的 header头。

GZIP_TYPES TEXT/PLAIN APPLICATION/XML;

新しい php ファイルを作成し、phpinfo() 関数を使用して php.ini 情報を表示します。OPcache 項目が見つかった場合は、正常に有効化されていることを意味します。 PHP 7 をインストールして有効にすることは、PHP 7 に別の翼を追加することです。

8. nginx で gzip 圧縮をオンにする

サーバー Nginx で gzip 圧縮をオンにすることは、Web サイトのパフォーマンスを最適化する方法の 1 つですが、サーバーの帯域幅の消費を効果的に削減できます。 CPU 占有率を高めますが、多くの場合、CPU が最もアイドル状態になります。

nginx 公式 Web サイトからの引用:

ngx_http_gzip_module モジュールは、「gzip」メソッドを使用して応答を圧縮するフィルターで、送信されるデータのサイズを半分またはそれ以上削減するのに役立ちます。

gzip を有効にします。 Nginx 圧縮

nginx.conf ファイルを開き、以下を追加します:

yum install php70-php-opcache.x86_64
gzip パラメータの概要

🎜GZIP ON|OFF🎜🎜 gzip モジュールをオンまたはオフにします🎜🎜GZIP_MIN_LENGTH 1000 code>🎜🎜 圧縮が許可されるページの最小バイト数を設定します。ページのバイト数はヘッダーの Content-Length から取得されます。デフォルト値は 0 で、サイズに関係なくページを圧縮します。バイト数を 1k より大きく設定することをお勧めします。1k 未満の場合、圧縮がさらに進む可能性があります。 つまり: gzip_min_length 1024🎜🎜GZIP_PROXIED EXPIRED NO-CACHE NO-STORE PRIVATE AUTH;🎜🎜Nginx をリバース プロキシとして有効にし、バックエンド サーバーから返される結果をオンまたはオフにします。エンドサーバーは「Via」を含むヘッダーを返す必要があります。 🎜🎜GZIP_TYPES TEXT/PLAIN APPLICATION/XML;🎜🎜 圧縮の MIME タイプと一致します。(指定の有無にかかわらず) "text/html" タイプは常に圧縮されます。 🎜🎜🎜ブラウザを通じて gzip 圧縮がオンになっているかどうかを確認します🎜🎜🎜たとえば、Firefox では、図に示すように、Web ページを開いてデバッグ コントロール バーを開きます: 🎜🎜🎜🎜🎜Content-Encoding フィールドは gzipこれは、Web ページが gzip 圧縮されていることを意味します。 🎜🎜これはLaravel Webサイトのパフォーマンス最適化方法に限らず、一般的なWebサイトのパフォーマンス最適化方法であることが多く、もちろん最適化できる箇所はたくさんあります。 🎜🎜🎜関連する推奨事項: 🎜🎜🎜🎜🎜Laravel がスーパーバイザーを実装して非同期プロセスを実行する方法の詳細な説明🎜🎜🎜

Laravelを使用して簡単なフォーム送信を実装する方法の詳細な説明

Laravelに最適化された分割ルーティングファイル

以上がLaravel プロジェクトの速度最適化の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。