web-dev-qa-db-ja.com

HTTPリクエストがHTMLをロードするための遅延の理由は何ですか?

HTTPリクエストがWebページのHTML部分をロードするためのレイテンシーの理由を知りたいです。

私は考えます:

  • プロキシを使用したWebページの読み込み
  • 優れたWebサーバーがない(Apache対nginx)
  • webサーバーの構成が正しくない
  • 悪いインターネット接続(悪いping)がある

他のアイデアはありますか?

3
Zistoloen

詳細を説明することなく、一般的に考慮すべきいくつかの領域を次に示します。

  • 物理構成/サーバー仕様

    • RAM(より良い)
    • CPUプロセッサ速度、およびマルチコアアプリケーションのコア数
    • 読み取り/書き込み速度を向上させるドライブ速度と物理RAID(ミラーおよびバックアップに使用されるソフトウェアRAIDではありません)
      ...

  • OSおよびサーバー構成:(これは各Webサーバーに固有ですが、いくつかの一般的なものが続きます):

    • 同時接続数
    • KeepAliveとKeepAliveTimeout(名前は異なります)
    • キャッシング
    • メモリ割り当て
    • 負荷分散(複数のサーバーにわたる負荷の削減)
      ...

  • ネットワーク帯域幅と接続速度

    • 異なる場所からのpingおよびtraceroute(Pingdom Toolsなど)を分析して、異なるWebホスト企業/ ISPとサイトの比較を実行します
    • サーバーに接続されているネットワークの速度と、ユーザーへのホップ数を考慮してください
    • 帯域幅を超えたときに冗長なインターネット接続があるかどうかを検討する
      ...

  • DNSヘルスとルックアップ速度:(しばしば見落とされます)

    • DNSチェックを実行して、サイトにアクセスできることを確認します(多くは無料でオンラインで利用できます)
    • DNS応答時間をテストする
      ...

  • コンテンツの最適化:(多数の手法)

    • コンパクトなHTML、CSS、JSなど.
    • クライアントに送信されたすべてのデータを圧縮する(例:gzipを使用)
    • 画像やその他のメディアを圧縮する
      ...

  • ファイアウォール

    • サーバーのハードワークを必要とするスキャンと攻撃を防ぐ

  • 他のサイトやサーバーからのリーチングをブロックする

    • ユーザーとドメイン/ホストのみへのアプリケーションとスクリプトのアクセスをロックダウン
    • 不正IPの禁止/ブラックリスト
      ...

  • エクスプロイトとウイルス:(デスクトップコンピューターと同様に、サーバーはウイルスや攻撃の速度を低下させる可能性があります)

    • よく知られているウイルススキャナーを追加し、オフピーク時にスケジュールします(ピーク時に遅くならないように)
    • topTask Manager、または同様の未知のプロセスに注意してください
    • リソースを占有するディレクトリ内の不明なファイルおよびスクリプトを監視します

  • インデックスを作成しないロボットとリンクを除外
    • robots.txtディレクティブを使用します
    • Webサーバー構成ルールおよび/またはセキュリティモジュールを追加する
      ...

  • ボットとスパイダーのクロール頻度を減らす
    • サイトマップでクロール遅延ディレクティブを使用する
    • 検索エンジンのウェブマスターツールを使用して、サイトのクロールレートを設定します(例:Googleのウェブマスターツールの「構成」設定)
      ...

これは決して完全なリストではありませんが、ウェブサイトの速度と遅延の問題に関して考慮する必要があるいくつかの重要な領域です。各サイトの詳細については、このサイトで回答を検索してください。

5
dan

優れたWebサーバーがない場合は、シーク時間を増やすハードドライブなどのハードウェアの欠陥など、いくつかの理由で遅延が増加する可能性があるため、かなり広い範囲になります。

また、制御できないネットワーク上のルーティングの問題や、DOSなどのサーバー側の攻撃が応答時間の遅延を増加させるなど、外部の影響も要因になる可能性があります。

最後に、サーバーの不適切な構成は、1つ以上の理由で待ち時間が長くなる可能性があります。

0
Simon Hayter