- PR -

squidでhttpdアクセラレータの設定をしたいのですが!!!

投稿者投稿内容
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2003-09-10 16:02
 お世話になります。構成を描きます。

[構成]---------------------------------------------

[webserver]192.168.1.200 Redhat8.0 apache1.3
[proxy]192.168.2.200 Redhat8.0 squid

[webserver]と[proxy]間には内部ルーターがあって互いにpingが通り、ルーティングできていると考えてください。この度、現在稼動中の[proxy]を[webserver]のアクセラレータ専用にしてしまおうと思っております。
--------------------------------------------------
さてここで[proxy]のsquid.conf設定をいかのように書き換えました。

httpd_accel_host webserver
httpd_accel_port 80

これでsquidをリスタートしたのですが、本当にアクセラレータが働いているかどうかがわかりません。当然のごとく通常通り

 http://webserver/localappli/index.php

とアクセスすると見えるのですが、早くなっているのかどうかわかりません。気分的には早くなっていていてほしいと思ってみているのでなんとなく早くなったような感じもしますが、実際にはアクセラレータは働いていないかも知れません。

 本当にこれだけで設定が終わりなのかと、動作していることを確認する方法をご教授願います。




rosso
常連さん
会議室デビュー日: 2003/08/09
投稿数: 25
投稿日時: 2003-09-10 18:16
次のことを確認してみてください。

@/etc/squid/squid.confの"http_port"は何番に設定されていますか?
ここで設定されているポートにアクセスしないと[webserver]の80番ポートにはフォワードされないはずですが・・・

Aアクセラレータが働いているかどうかは"/var/log/squid/access.log"を見れば分かると思いますよ!
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2003-09-10 18:35
 ご返答ありがとうございます。
引用:

@/etc/squid/squid.confの"http_port"は何番に設定されていますか?
ここで設定されているポートにアクセスしないと[webserver]の80番ポートにはフォワードされないはずですが・・・


こちらはデフォルトの3128になっておりました。


 やはり動作原理を全く理解できていないようです。次に私の間違っているであろう仮説を書きますので、違うところを修正願います。

-------------------------------------------------
1.ユーザーがブラウザを立ち上げて(私の場合IE6)http://webserver/localappli/index.php
のアドレスにアクセスする。
2.webserverはユーザーから送られてきたHTTPの要求を受けてユーザーにドキュメントを返す。
3.・・・と思いきや、自分宛てに
httpd_accel_host webserver
httpd_accel_port 80
と設定されたプロキシがあることを偶然に見つけたwebserverはプロキシに要求を転送。
(笑)・・・魔術か・・・
4.転送を受けた[proxy]はwebserverに代わってユーザーにドキュメントを返すと同時に自分のキャッシュに蓄える。
-------------------------------------------------

魔法のような話ですが、今わたしはこのように理解しております。どなたかこの魔法を解いて下さい。。お願いします。


rosso
常連さん
会議室デビュー日: 2003/08/09
投稿数: 25
投稿日時: 2003-09-10 18:50
okumuraさん 私の勘違いなのでしょうか・・・

>httpd_accel_host webserver
>httpd_accel_port 80

上記の設定を行ったとのことなので・・・

内部サーバーを外部に公開するものかと思ったのですが・・・

実際にはこうではないでしょうか??

"http://[proxy]:3128"にアクセスすると[webserver]のコンテンツを参照できる??
どうでしょうか??



[ メッセージ編集済み 編集者: rosso 編集日時 2003-09-10 18:51 ]
McLaren
ぬし
会議室デビュー日: 2002/01/15
投稿数: 784
お住まい・勤務地: 東京
投稿日時: 2003-09-10 19:02
言葉たらずで失礼いたしました。実はwebserverはローカルで運用しておりまして、ローカルのDNSには
192.168.1.200 webserver
というレコードを書いておりまして、みんなローカルWEBサーバーにアクセスしております。

実は 192.168.2.0/255.255.255.0 のネットワークは、インターネットvpnを隔てた別事業所で、なかなか低速です。

そこで各事業所にアクセラレータなんかを置くことができればいいなーと夢を抱いて投稿させていただいた次第です。。

さて、
引用:

"http://[proxy]:3128"にアクセスすると[webserver]のコンテンツを参照できる??
どうでしょうか??


の件ですが、プロキシにapacheを入れていないからなのか、何も表示できませんでした。。。
rosso
常連さん
会議室デビュー日: 2003/08/09
投稿数: 25
投稿日時: 2003-09-10 21:44
>プロキシにapacheを入れていないからなのか、何も表示できませんでした

okumuraさん apacheはインストールしていなくても動作するはずですが・・・

"squid.conf"で"acl"の設定は済んでいますか?
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2003-09-10 22:09
Linuxでなくて恐縮ですが、BSD magazine 14号の、「squidによる
HTTPチューニング」という記事が参考になるかと思います。
Marionette
ベテラン
会議室デビュー日: 2003/08/08
投稿数: 70
投稿日時: 2003-09-11 02:35
話がよく見えないのですが、、、

> やはり動作原理を全く理解できていないようです。次に私の間違っているであろう仮説を書
>きますので、違うところを修正願います。

1.ブラウザにproxyの設定がしてあり、除外するアドレスに合致しない場合にはWebサーバにではなく
  proxyサーバに対して送信要求する。合致する場合は直接Webサーバに送信要求する。
2.ブラウザから要求を受けたproxyサーバはWebサーバに送信要求する。
3.要求を受けたWebサーバは要求元(この場合はproxyサーバ)にHTTPドキュメントを送信する。
4.proxyサーバは受信したHTTPドキュメントをそっくりそのまま要求元のブラウザに返すと同時に
  キャッシュに蓄える。
その他、Webサーバとproxyサーバ間のいろいろ細かなやり取りやドキュメントの改変(日付)チェック
などがありますが、大まかな動作としては大体こんなところでしょう。
プロキシを偶然には見つけるなんてマジックはありません(たぶん)。ブラウザにproxyの設定はしてありますか。

こういうことではないのでしょうか? 論点がずれてます?
proxyサーバの設定は squidの日本語サイトに詳しくあります。

あっ、ベテランに昇格だ!

[ メッセージ編集済み 編集者: Marionette 編集日時 2003-09-11 02:53 ]

スキルアップ/キャリアアップ(JOB@IT)