Squidプロキシがキャッシュを正しく実行しているかどうかを知る方法


12

Squidサーバーに接続されたクライアントがインターネットに直接アクセスしてデータを取得する代わりに、キャッシュデータを実際に使用しているかどうかをテストしたかったのです。SquidサーバーからServer:Portを読み取るようにすべてのクライアントブラウザーを構成しました(これは10.42.0.1:3128です)。キャッシュまたはインターネットから情報を取得しているかどうかはどうすればわかりますか。

簡単な「テスト」で、多くの画像が含まれる複数のページを読み込むときに同じ速度が得られたので、私は尋ねました。訪問ごとに変わる広告ではなく、同じ画像。

キャッシュを使用しているかどうかを確認する方法は何ですか?

私は次を実行しました:sudo tail -f /var/log/squid3/access.logスクロールし続けるいくつかの行を得ました:

1374553166.136    929 185.168.101.131 TCP_MISS/200 28198 GET http://www.amazon.de/gp/offer-listing/B000NOIW62/ref=sr_1_1_olp? - DIRECT/178.236.7.219 text/html

それらにはTCP_MISS / 200があり、最後に上の例のようにDIRECTがありました。これは、LAN内のすべてのコンピューターの電源を切っている間に起こりました。私が使用しようとしたとき、私は次のことをしましたsudo tail -f /var/log/squid3/access.log | grep HIT

1374553387.488      0 10.42.0.14 TCP_IMS_HIT/304 278 GET http://g-ecx.images-amazon.com/images/G/01/da/creatives/sn130.png - NONE/- image/png

したがって、TCP_IMS_HIT / 304として表示され、最後にNONEが表示されます

では、TCP_MISS、DIRECT、TCP_IMS_HIT、およびNONEはどういう意味ですか?

キャッシュは機能していますか?

回答:


15

ターミナルで、squidを実行しているサーバーで、コマンドを実行します

tail -f /var/log/squid3/access.log

ユーザーがウェブページにアクセスするのを見てください。何かをクリックするたびに多くの行が画面をスクロールアップする場合、プロキシサーバーを使用しています。squidログファイルが見つからない場合は、/ etc / squidでログファイルの場所を確認してください。

上記のコマンドを終了するには、ctrl + cを押します

それが実際にキャッシュされており有用であるかどうかを確認するには、それがHITであると言う行がいくつかあるはずです。完全な説明を参照するには、ログファイルの内容は、イカのwikiを参照してください。キャッシュHITは、個々のユーザーのWebブラウザーが既にローカルにコンテンツをキャッシュしているため、必要な頻度ではないことに注意してください。その情報がキャッシュから削除される前に複数のユーザーが同じページを要求すると、最も多くのヒットが得られます。

「このサイトをチェックしてください...」というスタッフのメールが送信されたときなど

  • TCP_MISS / 200は、要求されたドキュメントがキャッシュ内になかったが、Webサーバーから問題なくフェッチできることを意味します。最後のダイレクトは、ファイルがウェブサーバーから取得されたことを示しています。
  • TCP_IMS_HIT / 304は、クライアントがファイルが変更されたかどうかを尋ね、squidがWebサーバーで日付/時刻を確認し、変更されていないことを確認したため、ローカルキャッシュからクライアントにファイルのコピーを提供しました。

はい、あなたのイカは使用されており、キャッシュとして機能しています。


さらに支援できるかどうかを確認するために質問を更新しました。
ルイスアルバラード

@Luis Alvardoは、回答を更新してさらに支援しました。
BeowulfNode42
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.