PHP-FPM パフォーマンス最適化の例: Web サイトの画像読み込み速度を向上させる方法

王林
リリース: 2023-10-05 15:08:02
オリジナル
1180 人が閲覧しました

PHP-FPM パフォーマンス最適化の例: Web サイトの画像読み込み速度を向上させる方法

PHP-FPM パフォーマンスの最適化の例: Web サイトの画像の読み込み速度を向上させる方法

要約: 今日のインターネット時代では、画像は Web サイトで重要な位置を占めています。ユーザーエクスペリエンスを向上させるには、画像の使用が非常に重要です。この記事では、PHP-FPM のパフォーマンス最適化の例を通じて、Web サイトの画像読み込み速度を向上させるいくつかの方法を紹介し、具体的なコード例を示します。

  1. 画像圧縮テクノロジーを使用する
    画像圧縮は、Web サイト画像の読み込み速度を向上させる一般的な方法です。ファイル サイズを小さくすると、画像をより速くダウンロードできます。 PHP では、ImageMagick、GD ライブラリなど、いくつかのサードパーティのライブラリまたは拡張機能を使用して画像圧縮を実現できます。以下は、画像圧縮に GD ライブラリを使用するサンプル コードです:
<?php
function compressImage($source, $destination, $quality) {
    $image = imagecreatefromjpeg($source);
    imagejpeg($image, $destination, $quality);
    imagedestroy($image);
}

compressImage("source.jpg", "destination.jpg", 80);
?>
ログイン後にコピー
  1. 画像の遅延読み込み
    画像の遅延読み込みとは、ページ上の画像の読み込みを遅延させることを指します。ユーザーは、ロードする前に画像が存在する位置までスクロールします。このアプローチにより、ページの読み込み時間が短縮され、ユーザー エクスペリエンスが向上します。以下は、jQuery を使用して画像の遅延読み込みを実装するサンプル コードです。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(function() {
    $("img.lazy").lazyload();
});
</script>

<img class="lazy" src="placeholder.jpg" data-original="real-image.jpg" alt="Lazy Loaded Image">
ログイン後にコピー
  1. CDN アクセラレーション
    CDN (コンテンツ配信ネットワーク) は、コンテンツを周囲のノードに配信するテクノロジーです。ウェブサイトのアクセス速度を高速化できます。 CDN サービスを使用すると、画像リソースをユーザーの近くにキャッシュできるため、画像の読み込み速度が速くなります。以下は、画像の高速化に CloudFlare CDN を使用する例です。
<img src="https://example.com/image.jpg" alt="CDN Accelerated Image">
ログイン後にコピー
  1. 複数の画像を並行して読み込む
    Web ページに複数の画像を同時に読み込む場合は、次のように使用できます。並列ロード。ロード速度が向上します。ページ内で複数の並列 HTTP リクエストを使用すると、単一リクエストの待ち時間が短縮され、画像のダウンロードが高速化されます。以下は、複数のスレッドを使用して画像を並行して読み込む例です。
<?php
function getImage($url) {
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);
    curl_close($ch);
    return $response;
}

$urls = array("image1.jpg", "image2.jpg", "image3.jpg");
$responses = array();
$threads = array();

foreach ($urls as $url) {
    $thread = new Thread('getImage', $url);
    $thread->start();
    $threads[] = $thread;
}

foreach ($threads as $thread) {
    $thread->join();
    $responses[] = $thread->getResponse();
}

foreach ($responses as $response) {
    echo "<img  src='data:image/jpeg;base64," . base64_encode($response) . "' alt="PHP-FPM パフォーマンス最適化の例: Web サイトの画像読み込み速度を向上させる方法" >";
}
?>
ログイン後にコピー
  1. ブラウザ キャッシュに基づく画像の読み込み
    ブラウザ キャッシュは、リソースをローカルに保存して、次回アクセス時の読み込みを高速化するテクノロジー。ブラウザのキャッシュを利用すると、画像を繰り返しダウンロードする必要がなくなり、読み込み速度が向上します。サーバー側では、HTTP 応答ヘッダーを設定することでキャッシュ動作を制御できます。以下は、画像キャッシュの有効期限を設定するためのサンプル コードです:
<?php
$filename = "image.jpg";
$expiry = 60 * 60 * 24 * 7; // 缓存过期时间为7天

header("Pragma: public");
header("Cache-Control: max-age=" . $expiry);
header("Expires: " . gmdate("D, d M Y H:i:s", time() + $expiry) . " GMT");
header("Content-type: image/jpeg");
readfile($filename);
?>
ログイン後にコピー

概要: この記事では、PHP-FPM パフォーマンスの最適化の例を通じて、Web サイトの画像の読み込み速度を向上させるいくつかの方法を紹介します。具体的なコード例を示します。画像圧縮テクノロジー、画像の遅延読み込み、CDN アクセラレーション、複数の画像の並列読み込み、ブラウザーのキャッシュベースの画像読み込みを使用することで、Web サイトの画像読み込み速度を大幅に向上させ、ユーザー エクスペリエンスを向上させることができます。

以上がPHP-FPM パフォーマンス最適化の例: Web サイトの画像読み込み速度を向上させる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート