ホームページ バックエンド開発 PHPチュートリアル PHP 実行速度向上完全ガイド (パート 2)_PHP チュートリアル

PHP 実行速度向上完全ガイド (パート 2)_PHP チュートリアル

Jul 21, 2016 pm 04:10 PM
php web 完全な戦略 コンテンツ 圧縮 クライアント 埋め込む 推進する 使用 スピード


Web コンテンツの圧縮 (顧客がより「楽しく」使えるようにする)

上記の 2 つの方法の後、PHP アプリケーションのパフォーマンスは大幅に向上したと思います。次は、別の側面から検討します。ダウンロード速度。アプリケーションが社内でのみ実行されており、すべての顧客がサーバーへの接続に 100Mb/s イーサネットを使用している場合、これは問題にならない可能性がありますが、一部の顧客が低速のモデム接続を使用している場合は、コンテンツ圧縮方式の使用を考慮する必要があります。 。 IETF 仕様によれば、ほとんどのブラウザは gzip コンテンツ圧縮をサポートしています。これは、Web コンテンツをクライアントのブラウザに送信する前に gzip を使用して圧縮できることを意味し、ブラウザはデータを受信するときに自動的に解凍し、ユーザーが元のページを表示できるようにします。同様に、Web ページのコンテンツを圧縮する方法もいくつかあります。

mod_gzip は、Remote Communications (http://www.phpbuilder.com/columns/www.remotecommunications.com) によって無料で提供される Apache モジュールで、静的な Web ページを圧縮できます。 Apache でコンパイルする (または DSO として使用する) だけで問題なく動作します。 Remotecommunications の関係者によると、mod_php、mod_perl などの動的コンテンツも圧縮できるそうです。しかし、試してみましたが、うまくいかないようです。 mod_gzip メーリング リストで、このバグは次のバージョン (バージョン 1.3.14.6f になると思います) で修正される予定であると読みました。ただし、静的コンテンツの圧縮には引き続き使用できます。

しかし、動的コンテンツも圧縮したいので、別の方法を見つける必要があります。 1 つの方法は、class.gzip encode.php (http://leknor.com/code/) を使用して、PHP スクリプトの最初と最後でこの PHP クラスを呼び出して、ページのコンテンツを圧縮することです。サイト全体でこのような圧縮が必要な場合は、php.ini ファイルの auto_prepend および auto_append でこれらの関数を呼び出すことができます。これは非常にうまく機能しますが、負荷の高いサイトでは明らかに多少のオーバーヘッドが発生します。どのように動作するかについて詳しくは、クラス コードを参照してください (少なくとも zlib サポートを使用して PHP をコンパイルする必要があります)。中の著者の説明書も非常に詳しく書かれており、知りたいことはすべてわかります。

最近、PHPの出力バッファリングに関する記事も見ました。つまり、PHP4.0.4 では新しい出力バッファ処理メソッド ob_gzhandler が導入されており、その機能は上で紹介したクラスと同じですが、 php.ini で次の構文を使用するだけで済むという点が異なります。

output_handler = ob_gzhandler ;

これにより、PHP の出力バッファリング機能が有効になり、送信されるすべてのものが圧縮されます。いくつかの特別な理由により、ここで設定せず、必要な場合のみデフォルト設定を変更する場合 (圧縮なし)、圧縮する必要がある PHP ソース コード ディレクトリ内の .htaccess ファイルを変更するだけです。使用される構文は次のとおりです。次のように:

php_value Output_handler ob_gzhandler

...または、次の方法で PHP コード内で直接呼び出します:

ob_start("ob_gzhandler")

この出力バッファリングの方法は非常に優れており、サーバーへの追加のシステム オーバーヘッド。この方法を使用することを強くお勧めします。その変化は次の例で説明できます。顧客が 28.8K モデムを使用している場合、このプロセスの後、突然 ISDN アクセスに切り替わったと考えるでしょう。注意すべき点は、Netscape Communicator は画像圧縮をサポートしていないため、表示されないことです。したがって、すべての顧客が Internet Explorer を使用していない限り、jpeg および gif 画像の圧縮を無効にする必要があります。他のファイルの圧縮には問題はありませんが、特にブラウザが珍しいプラグインを使用している場合や、めったに使用されないブラウザの場合は、テストすることをお勧めします。

その他の便利なもの...

Zend Technologies のオンライン ストアは今年 1 月 24 日に開設され、PHP に関連した興味深い製品を販売しています。前述の Zend Cache、Zend Encoder (簡単に言うと、ソース コードの漏洩を心配せずに顧客に販売できるように、コンパイルされたクラスを生成できる PHP コードのコンパイラーです。これらのクラスを実行する必要がある Web サーバーで (デコードには Zend Encoder Runtime を使用します)、Zend Ide (多くの強力な機能を備えた PHP 用の統合開発環境)、および PHP 開発者向けのサポート サービスを提供します。

結論

この記事で説明したテクニックを使用すると、サイトのパフォーマンスを大幅に向上させることができますが、次の点に注意してください:

1. ボトルネックは PHP ではない可能性があり、すべてのオブジェクトを調べる必要があります。アプリケーション (データベースなど)

2. Web サーバーのパフォーマンスには限界があるため、サーバーのアクセス数が多いことが原因である可能性もあります。アップグレードするか、負荷分散の使用を検討してください (多額の費用がかかります)

3. 100Mb/s LAN では、PHP アプリケーションは非常に優れたパフォーマンスを発揮する可能性があります。遅いモデムを使用するユーザーを考慮する必要があります。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/314280.html技術記事 Web コンテンツの圧縮 (顧客がより「楽しく」使えるようにする) 上記の 2 つの方法の後、PHP アプリケーションのパフォーマンスは大幅に向上したと思います。今度は、別の側面から検討します。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles