• ベストアンサー

CGI サーバーを使い分けるには?

現在1つのプログラム(perl)に1台のサーバーで運用する予定です。 利用する人数が多いため1台のサーバーでは不安なためこれを3台(別サービス、URL)のサーバーで使い分けたいのですが、どのような方法が一般的でしょうか?もしくは簡単にできる方法があったら教えてください。 Yahooやmixiなんかもサーバーを複数用意していると思うのですが。

  • Perl
  • 回答数6
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
回答No.5

もしWebサーバーにApache2をお使いでしたら Apacheモジュールのmod_proxy_balancerを 使うという手もあります。 この場合、入り口(URL)は一つとなって 処理を行うサーバーが複数になります。 ただ、サーバーを分けたとして吐き出されるファイルの 整合性とかは大丈夫でしょうか? 同一ファイルに書き出したりする場合は DB化する事をお勧めしておきます。

ma_trix
質問者

お礼

回答ありがとうございました。 >もしWebサーバーにApache2をお使いでしたら ホスティングサービスしている会社に頼まないといけないわけですね。 >Apacheモジュールのmod_proxy_balancerを それは利用できそうな感じでよいヒントになりました。 >整合性とかは大丈夫でしょうか? それが問題。1つのテキストファイルを1つのサーバーに置いておきたい気持ちですが、そんなことしたらサーバーをきりわける意味がないですよね? DB化はまだSQL Server7.0を昔に扱ったことがるくらいで作り治しになりそうです。 いつかはMysql+Perlで作りなおす予定なのですが、個人レベルでどこまでできるのやら・・・?

その他の回答 (5)

回答No.6

クラスタリングやHA(冗長化)は、大手サイトレベルになればそれこそ数千万~億単位でお金がかかる作業です。 まずは現在の問題点(処理速度なのか、対障害性なのか、など)を明確にし、採りうる手段をリストアップし、予算やプログラムにあわせた手法や将来性を考えて決定すべきです。 補足や回答を拝見する限り、1台のままでCPUやメモリだけで対応するのがよさそうです(=単に速いマシンへの移行)。

  • Yeti21
  • ベストアンサー率47% (396/830)
回答No.4

>頼めば容易にやってくれるものでしょうか? それはその会社しだいですが、単純には難しいと思いますが、 結局予算しだいだと思います。 どんな会社かわかりませんが、一度聞いてみても良いかもしれませんね。 >でも、ふつうそんなことしませんよね? そういうパターンは何とも...? その時点で振り分けてもどうなんでしょうね? 1セッションあたり余程重い処理なら効果もあるかもしれませんが、 どのようなシステムか、内容次第なのでちょっとわかりません。

ma_trix
質問者

お礼

たびたび回答ありがとうございましたm(__)m。 >その時点で振り分けてもどうなんでしょうね? 確かにご指摘のとおりでした(ToT)。 >余程重い処理なら効果もあるかもしれませんが 想像で申し上げるのも無理なことなのですが、おそらく軽めの処理だと思います。 1台のサーバーでやっていくことを考えた方がよさそうですね。

  • Yeti21
  • ベストアンサー率47% (396/830)
回答No.3

負荷分散を考える場合、あくまで代表例ですが、 専用サーバを置いて、入口で制御する場合、例えば10台のサーバに 順番に割り当てていくラウンドロビンというやり方が多いです。 他に、専用サーバを置かずに、サーバのクラスタリングで、セッションが ある一定数を超えた場合に別のサーバに振っていくようなやり方も有ります。 仰っている方法はこちらに近いと思います。

ma_trix
質問者

お礼

回答ありがとうございました。 クラスタリングを調べてみたところサーバー側でソフトを導入することで実現できそうですね。 ただ、ホスティングサービスしている会社はクラスタリングをやってなさそうなんです。 頼めば容易にやってくれるものでしょうか? 無理だとしたらPERLのプログラムで規定のアクセスになったら分散するようにできるのでしょうか? でも、ふつうそんなことしませんよね?

  • Yeti21
  • ベストアンサー率47% (396/830)
回答No.2

単純なクラスタリングから、負荷分散専用のサーバ設置まで、 予算に応じて色々方法はあると思います。 でも、簡単な話ではないので、専門家か業者に委託されるのが良いと思います。

ma_trix
質問者

お礼

回答ありがとうございますm(__)m 理想としては、ある一定の人数以上からアクセスが あったら別のサーバーを参照するようにしたいのですが それはむずかしいですよね? 根本的にそんなことしても意味がないかも知れませんが。

回答No.1

そのCGIの仕様によります。 ・DBは使うのか ・使う場合、参照だけか、更新もあるか ・ファイルの書き出しがあるか ・セッションを使っているか ・SSLを使用するか などなど。(他にもたくさん) それによっては、ただ単にスクリプトをコピーして複数台で動かすだけで済む場合もありますし、ファイルのロックやDBの同期、SSLアクセラレータの要不要、NFSを使うかどうか、など、場面によっていくつかの解決策を組み合わせなければいけないかもしれません。 以上のことから、「簡単にできる方法」も「一般的な方法」も、ご質問の内容から導き出すのは困難です。 とりあえず開発を担当された方(会社)に相談されるのが一番早いと思います。

ma_trix
質問者

お礼

回答ありがとうございますm(__)m 開発者は自分です。 やはりむずかしそうですね。 一応、概要を書きますと ・DBは使っておらず(テキストファイル) ・ファイルの書き出しあり ・SSLはたぶん使用していない といった状況です。 理想としては、一定人数以上アクセスがあったら 別のサーバにあるCGIファイルを参照するみたいに やったほうがよいかと思っています。 ただ、素人考えなのでそんなことやらない方が よいのかも知れません。

関連するQ&A

  • wwwサーバにCGIを入れたいのですが

    私は今、WindowsNTをwwwサーバにして複数の端末を繋いで使っているのですがwwwサーバにCGIプログラムを入れてホームページにフォームを入れたいと思っています。 そこで、CGIプログラムを無料で手に入れることができ、CGIを利用できる方法などがあるページを探しています。 良いURLを知っている方は紹介してもらえないでしょうか?

  • ドメインサーバのユーザアカウントを一般サーバにコピーできますか?

    ドメインサーバ(1台)、バックアップサーバ(1台)、一般サーバ(複数台)で運用しています。 ドメインサーバとバックアップサーバは社内用で、インターネット外部には非公開です。 一般サーバの複数台のうち、1/3のサーバがインターネット外部に公開しています。 訳あって、ドメインサーバ(またはバックアップサーバ)にある、 ユーザアカウント登録情報と同じ内容を、複数台ある一般サーバのうち1台に用意したいと考えています。 技術的に、そんな事は可能でしょうか? <補足> ・訳と言うのは、実は身内の人間用ftpサーバを構築したいと考えております。  サーバー機に適しているのが、既にある一般サーバ(複数台あるうちのインターネット外部に公開している1台)なのですが、  ドメインサーバ(またはバックアップサーバ)にあるユーザアカウント情報と同じ内容を  わざわざ手入力で、再登録するのが非常に効率が悪く、煩わしいのです。 ・もちろん、セキュリティー上、ドメインサーバのログイン/パスワードと同じアカウントで  ftpサーバに入るのは、あまり好ましくない事は十分承知しております。 ・が、これまた訳あって、どうしても、ドメインサーバのユーザアカウントと同じ内容で  ftpサーバにログインさせたいのです。(同じ内容を何十人分も登録しなおすのは面倒だし・・・)

  • 1サーバで複数のサブドメインを運用

    一般的に共有レンタルサーバで1サーバを借りて、 1サーバで複数のサブドメインを運用することは可能なのでしょうか? (1サーバ料金で。複数申し込みならいけると思いますが) またそのようなサービスを提供しているレンタルサーバはあるのでしょうか?

  • クラスタサーバについて

    クラスタサーバの概念について教えていただきたいとのですが、 サーバが複数になったとしても、システム(プログラム)は、普通のサーバ(1台のサーバ・・・なんて書けばいいか)と同じものを利用できると考えていいのでしょうか? ちなみに、システムは、Apaceh+PHP+Oracleを利用しています。 よろしくお願いします。

  • CGIの動かないサーバ

    いつもお世話になっています。 携帯サイト内で使用するメールフォームを設置中です。フリーで配布されているものを使用させていただいていますが、以下のような問題点に突き当たり困っています。 テストサーバ上では動くが、実際のサーバ上では動かない(「Internal Server Error」と出てしまう)。 ↓ ・sendmail、perlのパスは間違っていませんでした。 ・パーミッションも合っています。 ・サーバ会社に問い合わせたところ、OSにRedhatLinuxを使用しているので、テストサーバのOSが違ったらプログラムを直す必要あるかもと言われましたが、意味が分かりません。テストサーバのOSはLinux 2.4です。これってOSが違うというのでしょうか?RedhatLinuxというのは初めて聞いたので同じものなのか違うものなのかすら分かりません。 上記のような問題点があるのですが、 ・携帯に対応しているフォームを使いたい ・入力項目は自分で増やしたり減らしたい ・サーバの都合でphpは使用できない ・デザインを他のページと揃えたい というワガママな希望に応えるには私は何をしたら良いのでしょうか? たぶん全てを叶えるのはムリなんだろうなと思っており、これをガマンすればできる、ということでも構いません。何かヒントになりそうなことがあれば教えて下さい。 CGIはサーバが用意しているものか、kent-webさんのような無料配布してくださっているものを使用したことしかありません。 知識不足で恐縮ですが、どうぞ宜しくお願いします。

    • ベストアンサー
    • CGI
  • サーバーAでcgiで認証し、サーバーBへ飛ばす

    サーバーAでcgiでユーザーIDとパスワードで認証し、サーバーBの一般からアクセスされたくないURLに飛ばす方法を教えてください。 サーバーB側で、どのような受け口を作ればよいのかで悩んでいます。 cgi(Perl)のスキルと、Apacheのスキル少々です。 ヒントだけでもいただけましたら後は勉強します。 (1),サーバーAで、cgi(Perl)を使用してユーザー認証します。 (2),認証OKの場合、cgiからサーバーBへリダイレクトします。 (3),サーバーBでは、上記の認証OKのアクセスだけを許可します。 サーバーBには、htmlやpdfなどを置いています。 これを、.htaccessのREFERER認証を使用して、サーバーAのREFERERを持ったものだけを 通す設定にしてみました。 この場合、最初に呼んだhtmlは表示されますが、そのhtmlからimgタグで呼んだ画像などは 表示されません。 また、そのhtmlから同じディレクトリ内の他のhtmlへ飛ぶこともできません。 特にREFERER認証に拘りません。何か良い方法はありませんでしょうか。

  • レンタルサーバ利用時のWebサーバダウン対策

    お世話になります。 この度、レンタルサーバを利用して、軽い動画のコンテンツを配信する商用サイトを構築しております。また、登録会員に課金するシステム の為、PHPやMySQLを利用しております。 DBはそこのレンタルサーバがRaid1を組んでおり、また毎日自社のローカルにもExportしたデータをダウンロードしているのでデータ破損については大丈夫だと思うのですが、Webサーバがダウンした際のことが 気になっています。 ホスティングしている場合、Webサーバーがダウンした場合はもうサービスは運用できないのでしょうか?ダウンしてもサービス運用できる対策としては、どのようなものがあるのでしょうか? 大手商用サイトは専有サーバを複数所有していて、1つのURLがサーバーダウン時には他のサーバーに切り替わるなど行っているのでしょうか・・・? 教えてください、お願いします。

  • WebサーバとDBサーバ 2台構成にしようと・・・

    現在、1台のPCでWebサービスを運用しています。 初心者なりに色々調べながらやっていますが、なんとか安定したサービスは 提供しているつもりです。 現在1台のPCでLinux+Apache+PostgreSQL+PHPという構成で運用しているのです が、DBへの参照・更新が多いので、WebサーバとDBサーバ、といったように物 理的に分けてしまえば多少負荷が抑えられるのでは?もっと快適なサービスを 提供できるのでは?などといった単純な考えでいます。 結局、そのような方法は、多少でも効果が見込めるものなのでしょうか? それと、実際に分けるとなった際の方法が全く分からないので、その辺を 詳しく解説したようなサイトがあればご紹介下さい。 ちなみに、画像用配信用にイメージサーバ?も準備しようかなと考えて います。 補足 ロードバランサなども考えましたが、現状、そこまで用意する必要は無い だろうという勝手な判断です。 LinuxはFedora 6です。DBサーバにしようと思っているPCは現在動いている サーバより性能は少し落ちます。

  • サーバーの分散について

    あるWEBサービスを運用しているのですが、 メインのサーバーに障害が発生したときに、 自動で予備のサーバーに接続が切り替わるように したいのですが、どのようにするのが一般的でしょうか? ちなみにメインと予備のサーバーは完全にネットワークが 別物になります。 また、1台のサーバーでWEB、DB、メール全てまかなっています。 何か教えて頂けましたら助かります。

  • FC2サーバーでのCGI設置方法について。

    現在FC2レンタルサーバーを利用しています。ネットショップオーナー3を入れたいのですがCGI設置がうまくできません。 .htaccessファイルをhttpdocsに作成すると、httpdocs以下に作成されたどのディレクトリでもCGIを実行できるとFC2サイトには書かれています。 この通りにしたのですが、エラーが出てしまいます。 これ以外の設定は、 ・ファイルの転送先「/httpdocs/」 ・CGIプログラムの転送先「/httpdocs/」 ・perl: #!/usr/bin/perl ←先頭に#!をつけるようCGI元に書かれていたので ・サイトのURL 「http://www.oooo.oooo.com」 ・CGIのURL 「http://www.oooo.ooooo.com」 どなたか原因がおわかりになられる方がいらっしゃれば、アドバイスをお願い致します。

専門家に質問してみよう