Tipsカテゴリ
プログラムTips ※Tips一覧はこちら
 
■ なぜ自社用プロキシサーバーを設置するか (2007/03/01)

自社用プロキシサーバーの必要性については、あまり考えたことは無かったのですが・・・
こんな経験をして、少し考えが変わりました。

外部のWebサーバーで提供されている情報を加工し、とある会社の営業戦略に活用するプログラムを作成していたときのことです。

PHPを使用し、fsockopen + fputs + fgetsでWebのHTMLを取得するスクリプトを書いてみました。
・・・が、パフォーマンスが全然出ません。これでは使い物になりません・・・

言語や環境の問題かと思い、JavaのSocket + BufferedWriter + BufferedReaderで同じプログラムを書き直して見ました。
・・・しかし、やはり遅い。ブラウザがタイムアウトしてしまう・・・

いろいろ試行錯誤してみた挙句に、相手のWebサーバーにアクセスする前に、自前のプロキシサーバー(squid)を立ててそれを介するようにしてみたところ・・・なんと劇的にパフォーマンスが改善されました!

プロキシサーバーはWebアクセスに特化しているからなのかもしれません。運用環境を変更できるときは、プロキシサーバーの設置も検討してみる価値ありです。

ただ、HTTPリクエストを送るときにKeep-Aliveを送ってしまうと、コネクションが閉じられずにタイムアウトする点は注意が必要です。蛇足ですが・・・

カテゴリ:サーバー設定

 
 
Copyright(c) 2007-2017 ISCS All rights reserved.