Squid最適化ガイド

  

多くのSquid最適化は、Squidパラメータとシステムパラメータの調整に限定されています。しかし、これはほんの少しのことです、あまりにも精神的に悪い設定であればキャッシュすることはできません、Squidのパフォーマンスにはそれほど違いはありません。約10%増加します。彼のエネルギーから、しばしば100%-200%の改善があります。

この記事は基本的には説明書であり、特定の設定ファイルのような詳細は含まれていないため、この記事の内容の大部分をコピーして設定ファイルに貼り付けることはできません。 。

まず、Squidができることについて明確にしてください。多くの人がSquidの動作を理解していないので、SquidのパフォーマンスはWebサイトを高速化するのに十分なものだと聞いたことがありますが、静的ページの場合でも基本的に無駄です。上記はmod_expiresを開かない、同じことをキャッシュすることはできません、Squidは接続管理の使用を再生することができます。

一般的に言って、ウェブサイトはスピードを上げるためにSquidを使用しています。目的は2つです。

1:Squid自体はキャッシュ機能を持ち、ウェブサーバー出力の内容をキャッシュできます。どちらもキャッシュの内容を直接使用するため、Webサーバーマシン上のリクエスト数を効果的に減らすことができます。これがsquidの主な機能です。 2:遅いネットワークを使用しているユーザーは、長時間にわたってWebサーバーのTCP接続を占有することになり、各Webサーバーは、接続ごとに大量のリソースを占有することになります。 Squidを前面に置くと、Webサーバはロジックをすばやく処理し、データをSquidにすばやく送信してから他のロジックを処理できます。Squid接続はTCP接続あたりのリソースをほとんど消費しないので、リソースを消費しすぎることはありません。この使用法は接続管理とも呼ばれ、ネットワークデバイスによってはこれを実行できるものもあり、価格は非常に高額です。

Squidの次の2つの機能、ビジネスロジックとSquidパラメータの調整方法

Zero:操作前

どの設定をコンパイルに使用しても、Squidに入る前に、特別なオプションが必要です。-snmpを有効にし、MRTGを設定してください。要求ヒット率(RHR)、バイトヒット率(BHR)などのように、squidの状態をグラフィカルに表示することができます。基本は、最適化も例外ではありません。


1つ:キャッシュ

A:キャッシュを制御するにはExpiresヘッダーを使用してください。

SquidはWebサーバーのコンテンツをキャッシュするときにバックエンドWebサーバーからの制御を必要とします。その情報は、そのページをキャッシュできるかどうか、またどのくらいの期間キャッシュできるかを示しています。そうでなければ、Squidはあなたのためにコンテンツをキャッシュすることを自己主張しません。ページをキャッシュできるかどうかに関係なく、Webサイトを開発している人だけが知っているので、動的ページにExpiresおよびCache-Controlヘッダーを出力するのは開発者の責任です。これら2つのヘッダの値が何を意味するのかを示すためにphpの例を単に与えてください。ここで$ expiretimeは秒単位です。

header( "Expires:"。gmt_date_format(time()+ $ expiretime)); header( "Cache-Control:max-age ="。 "$ expiretime");

静的ファイルの場合、Squidに静的ファイルを自動的にキャッシュさせる方法は2つあります1つは、パスまたはファイルタイプ/拡張子のキャッシュヘッダーを自動的に出力するためのapacheのmod_expiresです。詳細はmod_expiresの説明を参照してください。もう1つは、squidのrefresh_patternで指定されています。詳しくは、squid設定ファイルを参照してください。一般的に言えば、バックエンドが複雑な設定でない場合はバックエンドで行うことをお勧めしますフロントエンドの設定変更の大部分はhttpプロトコルに対するものです問題がある場合はトラブルシューティングがより困難です。


B Squidアクセス、ビジネス分割のモードに応じて

Expiresヘッダー処理の後、Squidは本当に加速することができます。ウェブサイトのアクセス速度が明らかに向上したとも言える。しかし、このスコアには満足しないでくださいイカのsnmpチャートをチェックしてください通常ヒット率は高すぎず、50%は素晴らしいです。私たちの目標は、ほとんどのSquidで9X%のヒット率を達成することです。

なぜSquidはこんなに低いのですか?これには2つの理由があります。ほとんどのWebサイトには、ログインページなど、キャッシュできないページがあります。これらのページリクエストもSquidから送信され、ヒット率を直接低下させる分母の一部になります。あなただけの場合は、Apacheを公開します。すぐにキャッシュできるイカのヒット率が上がります。

キャッシュできないページを分割できるのであれば、キャッシュできる数を見栄えよくするためだけに隠蔽ではないと言う人もいるでしょうか。 1つ目は、ページをキャッシュできない干渉を除去することです。これにより、Squidをさらに最適化するための基盤がより正確になります。第二に、キャッシュ不可能なリクエストとキャッシュ可能なリクエストの重要性の間にはギャップがあり、分割した後、それらがお互いからリソースをつかむのは容易ではありません。重要なログインリクエスト3つ目は、キャッシュ可能なコンテンツは通常、画像などのページ要素であり、ブラウザがそれらをロードすると、各サイトの同時接続が制御され、それらが異なるIPに分割されている場合、より多くの要求を同時に実行できます。表示速度を上げます。

実際、sohuやsinaのようなページを見ると、それらのページも分割されていることがわかります。ページ内の画像はすべてimages.sohu.comのようなアドレスを指していることがわかります。他のページと同様に、背景は同じApacheを指しています。

これを実行すると、キャッシュヒット率は70%から80%に上昇し、運が良ければ90%になります。

Squidヒット率が低いもう1つの理由はこれと同じで、キャッシュ可能なコンテンツ、ソフトウェアダウンロードステーション上の大きなファイル、ニュースサイト上の小さな写真などが同じです。 Squidがそのような巨大なファイルを高速化すると、Squidのキャッシング戦略に深刻な影響を及ぼします。大きなファイルはキャッシュに入ることができず、大きなファイルが見逃されることがよくあります。これはキャッシュできないページよりも嫌です。そのため、サーバーリソースが限られている場合でも、2種類のアクセスを分割することをお勧めします。通常、ファイルサイズの分割線は1M程度に設定されていますが、ソフトウェアダウンロードのようにサイズの大きいファイルがある場合は、4M〜10M程度に分割することができます。イカのアクセスタイプが異なると、システム最適化パラメータも異なります。これについては後で説明します。

アクセスモードに従って慎重に事業を分割している限り、ほとんどのキャッシュされたイカは少なくとも9X%の高いヒット率を達成できます。


Cさまざまなニーズに応じたパラメータ最適化キャッシュの調整

AとBの2段階の最適化を完了すると、Squidのヒット率は9x%に達することがよくありますイカに既に与えられた

Copyright © Windowsの知識 All Rights Reserved