おそらくあなたはそのフレーズを聞いたことがあるでしょう 最初のバイトまでの時間 しかし、どういうわけか、この概念は一部の人々から逃れているようです。それは信じられないほど技術志向のように見えるので、またはそれは抽象的な概念のようであり、日常の使用にとってそれほど重要ではないからです。真実と違うことがあってはならない.


最初のバイトまでの時間は、実際には技術者のみが理解する必要がある概念やアイデアではありません。誰もがそれの意味を理解し、実践に適用できるはずです.

この記事では、簡単に説明します。 最初のバイトまでの時間とは何ですか、これはサイトにどのように影響し、なぜこの問題にかなりの注意を払う必要があるのですか あなたの読者にあなたのサイトを閲覧するときに可能な限り最高の体験を提供したい場合.

最初のバイトまでの時間とは?

最初のバイトまでの時間(TTFB)は、Webサーバーまたはその他のネットワークリソースの応答性の指標として使用される測定値です.

TTFBは、ユーザーまたはクライアントがHTTPリクエストを行ってから、クライアントのブラウザーが受信するページの最初のバイトまでの期間を測定します。この時間は、ソケット接続時間、HTTPリクエストの送信にかかる時間、およびページの最初のバイトを取得するのにかかる時間で構成されています。 DNS後の計算と誤解されることもありますが、ネットワーキングにおけるTTFBの元の計算には、リソースがロードを開始するのにかかる時間を測定する際のネットワーク遅延が常に含まれます.

これが、「技術者」の説明です。 ウィキペディア. それを、すべての人に役立つシンプルなものに変換しましょう.

最初のバイトまでの時間は、ボタンを押してからWebサイトをロードしてからレンダリングが開始されるまでの時間です. これをゲーム用語で言えば、最初のバイトまでの時間は、ゲーム中の「レイテンシ」または「ラグ」に似ています。レイテンシは、サイトの感知された応答性の直接的な表現です.

最初のバイトまでの時間に影響する要素?

最初のバイトまでの時間はいくつかの要因で表すことができますが、これはWordPressの記事であるため、WordPressが配置されているときに影響を受けるものまですべてを削減します。.

  • DNS応答時間
  • サーバーの構成とパフォーマンス(PHPおよびWebサーバー)
  • WordPressプラグイン/テーマ
  • HTMLキャッシング有効/無効

これらの要因のすべて 追加のレイテンシを追加します サイトがレンダリングを開始するまでの時間。つまり、 すべてが合算する. というわけではありません いくつか これらの要因のうち、待ち時間に影響を与える可能性があります, すべて これらの要因のうち、レイテンシが長くなる原因になります!したがって、理想的なシナリオでは、最初のバイトまでの時間を非常に短縮するためにすべてが高速であり、チェーン内の何かが処理に時間がかかる場合、最後の最初のバイトまで時間がかかると推測できます。.

これは重要です 最初のバイトまでの時間は、あなたまたはあなたの読者があなたのサイトで行うすべてに影響します. 読者がリンク、画像、ブログ投稿、ページをクリックするたびに、最初のバイトまでの時間が考慮されます。最初のバイトまでの時間が悪いということは、リーダーが貧弱なサーバーに接続しているゲーマーに似た状況を持っていることを意味することがわかります。クリックするたびにかなりの遅れが生じ、エクスペリエンスに影響します.

注:この先からは、頭文字TTFBを使用して、最初のバイトまでの時間を示し、少し高速化します。.

1. DNS応答時間

DNS解決は、方程式の最初の要素です。常に最良のDNSサーバーを使用し、可能な限り最高の解決策を得るために、ノード全体にノードが広がっていることを確認してください。このステップでTTFBを削減する良い方法は、次のような優れたグローバルサービスを使用することです CloudFlare そのようなサービスが実装するように グローバルDNSキャッシング. この方法は、さらに解像度をキャッシュしてTTFBを削減するのに非常に適しています.

2.サーバー構成

TTFBレイテンシの2番目のステップは、実際のサーバーです。ここでホスティングが行われます。それが採用するウェブサーバー構成のタイプとキャッシング技術は 大幅に減らす TTFB。たとえば、サーバーに古いPHP 5.4インタープリターが実装されている場合、TTFBは非常に高くなりますが、最新のPHP 7.1構成を使用すると、その時間は2倍以上短縮されます.

これは、PHPインタープリターがプロセスで重要な役割を果たすためです。あなたがウェブサイトのページやブログの投稿を求めるたびに キャッシュされていない, サーバーは 問題のPHPファイルを処理する HTML形式に変換してブラウザに戻します。 PHPファイルが複雑であるほど、それらを前処理してブラウザーに送信するのに時間がかかります.

サーバーのパフォーマンスもプロセス全体で重要な役割を果たすことがわかります。 CPUが高速で、ホスティングが割り当てるリソースが多いほど、それらのファイルの処理が高速になるため、TTFBは小さくなります.

また、ホスティングがPHPキャッシングを実装している場合、PHPファイルをもう一度処理する必要がなく、そのファイルのキャッシュバージョンを提供するため、2番目のリクエストでさらに削減されます。.

ホスティングビジネスには、一般的な(キャッシュされていない)サービスと、通常は実装されるWordPress専用ホスティングサービスの2種類があることがわかります。 PHPのキャッシングメカニズム, プロセス中のTTFBを削減.

3. WordPressプラグインとテーマ

TTFB方程式の3番目のステップは、実際のサイトです。これは最も重要な要素であり、その理由を説明します.

通常、WordPressはホスティングに複数のPHPファイルを処理させるため、それらが複雑になるほど、処理に時間がかかります。 WordPressは、 プラグイン そしてそれらのプラグイン 追加のコードを追加する これを念頭に置くと、最終的なPHP処理に至るまで、 インストールしたプラグインが多いほど、ホスティングがプラグインを処理するのに時間がかかります したがって、TTFBは増加します.

少ないほど良い

経験則として、通常はプラグインが少ないほど良いです。もちろん、適切にコーディングされていない1つのプラグインは、専門的にコーディングされた10個のプラグインよりもはるかに悪い場合や、競合する2つのプラグインをインストールする可能性があります。ただし、一般的に言えば、プラグインの数を減らすと、更新の管理が容易になり、サイトの速度が向上します。これは、インストール用の妥当な量のプラグインの例です.

最初のバイトまでの時間:プラグインの削減

この次の例は問題がある可能性があります(これも、インストールしたものに部分的に依存します).

最初のバイトまでの時間:より多くのプラグイン

そしてもちろん、30のプラグインの障壁を超えるものは、おそらくレイテンシに適さないでしょう。 40を超えるプラグインを含むWebサイトは、壮大なホスティングサービスでホストされている場合でも、TTFBが非常に高くなるので、その理由を説明します.

4. HTMLキャッシング

最後の要素は最も重要であり、 キャッシングメカニズム WordPressインストールに実装することを決定します。 WordPressにはいくつかのタイプのキャッシュメカニズムがありますが、それらの中で最も効果的なのは HTMLキャッシング.

のような良いプラグインを持っている KeyCDNキャッシュイネーブラー ホスティング自体よりも、TTFBに多大な影響を与えます。それはそれらすべてのファイルをHTMLに変換するので、キャッシュがアクティブになると、リーダーはホスティング上のPHPプリプロセッサーを通過する必要がなくなり、 Webサーバー自体のみ コンテンツの提供を担当します。以下を含むホスティングを使用する場合は、プロセスをさらに高速化することもできます nginx この記事で説明したように、メインのWebサーバーとしてApacheの代わりに.

最初のバイトまでのケーススタディ:なぜそれが重要なのか

さて、私たちが話していることをお見せしましょう。次のケーススタディは、さまざまなサーバーでのWebサイト構成の実際の例であり、最後に便利なベンチマークの概要があります。.

遅いサーバー上の遅いウェブサイト

遅いサイトがあることはTTFBにとって苦痛になる可能性があり、優れたホスティングサービスを気にしない場合は、可能な限り最悪の結果に直面する準備をする必要があります。.

最初のバイトまでの時間:遅いサイト、遅いサーバーパフォーマンス

このサイトを詳しく分析してみましょう。この目的でPingdomツールを使用します。これは、TTFBを表示するための優れたツールであるためです。秘訣は、 細部 サイトへの最初のリクエスト.

最初のバイトまでの時間:サイトが遅い、サーバーの応答が遅い

ご覧のとおり、サイトのTTFBは4.2秒以上です。これは、ウェブサイトが実際に利用可能であることがわかるまで、4秒かかることを意味します。.

次に、その時間にサイトで行うすべてのクリックを掛けると、読者にとってどれほどの苦痛が生じるかがわかります。もちろん、サイトのレンダリングにかかる​​合計時間にTTFBを追加する必要があります。結果は パフォーマンスの破滅的 サイトが取る限り レンダリングに7秒 きちんと時々.

いくつかの要因の組み合わせがこれにつながります。キャッシングメカニズムがなく、最適化が不十分なWebサイト、非常に遅いホスティングサービス、完全に古いPHPインタープリター(PHP 5.4を実行中)。サイトが外部キャッシュメカニズムとしてcloudflareを使用している場合でも、サイトとホスティングが連携していない場合、状況を改善するためにできることは何もありません。.

平均的なサーバー上の高速なWebサイト

ApacheとPHP 7.1を使用する平均的なサーバーに非常に高速なサイトを配置するとどうなるか見てみましょう

最初のバイトまでの時間:高速サイト、平均サーバー応答

キャッシュなしでプラグインが10個未満のサイトでは、結果は前のものより少なくとも5倍優れています。 TTFBが521msに設定されていることがわかります。つまり、サイトがサーバーからコンピューターに到達するまで、ブラウザーでのレンダリングが開始されるまでに0.5秒かかります。.

最初のバイトまでの時間:高速サイト、平均サーバー応答2

そのWebサイトのキャッシュをアクティブにするとどうなりますか?魔法が起こります。 Apacheで実行されている一般的に平均的なサーバーは、わずか152msのTTFBで優れた結果をもたらすことができます。あなたはどのくらい見ることができます 適切なWordPressキャッシング メカニズムが結果に影響する.

高速サーバー上の非常に遅いウェブサイト

では、反対を見てみましょう。非常に低速なサイトを非常に高速なサーバーに配置するとどうなりますか.

最初のバイトまでの時間:遅いサイト、速いサーバー応答

nginxとPHP 7.1.11でPleskを実行している最適化されたサーバーは、プラグインで満たされたサイトをレンダリングするのに1.29秒かかります(27以上).

最初のバイトまでの時間:遅いサイト、速いサーバー応答2

しかし、素敵なKeyCDNキャッシュイネーブラーを通じてWordPressのキャッシングをアクティブにすると、その結果は驚くべきものになります。非常に遅いサイトでは、TTFBが400ミリ秒に短縮されています。.

高速サーバー上の高速Webサイト

次に、最適な状況を見てみましょう。高速サーバーで実行されている高速Webサイト.

最初のバイトまでの時間:高速サイト、高速サーバー応答

低速サイトで1.29秒のTTFBを提供していた同じサーバーが、キャッシュのない高速サイトで500ミリ秒未満で応答する.

最初のバイトまでの時間:高速サイト、高速サーバー応答2

キャッシュを有効にすると、結果は驚くべきものになります。高速サーバーとキャッシュを有効にした高速Webサイトを組み合わせると、150ミリ秒未満のTTFBが得られます!

ベンチマーク結果

ベンチマーク愛好家のために、結果をすべて1つの大きなグラフで見てみましょう.

最初のバイトのベンチマークまでの時間

ホスティングがTTFBを削減し、サイトのレイテンシと知覚パフォーマンスを改善する上で重要な役割を果たしていることがわかりますが、サイトで行うことはパフォーマンスに最も影響します.

まとめ

優れたTTFBメトリックがあれば、高速で応答性の高いサイトが確実に得られ、一般的なレンダリング時間が短縮され、パフォーマンスを決定する優れたメトリックとして機能します。通常、TTFBが高いほど、サイトの速度は低下します。このタイミングはWordPressインストールのボトルネックを特定するためにも使用できるため、サイトのベンチマークを行うときにTTFBを念頭に置くことが最も重要です。すべてのプラグインを無効にし、基本的なテーマに切り替えて、TTFBを再度測定するだけで、簡単な練習を行うことができます。あなたは結果に驚かれることでしょう.

データベースのパフォーマンス、利用可能な帯域幅、ネットワーク速度など、他にも考慮すべき要素があるため、これは決して「すべてを統制する1つの指標」ではないということで、この記事を終えたいと思います。しかし、TTFBは通常、これらすべての要因にも影響を受けるため、他の場所でのボトルネックの良い兆候です.

できれば、TTFBを試してみてください。以下にコメントを残してください。ご自身のテストについてお聞きしたり、ご不明な点がありましたらお問い合わせください.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me