プロが教える店舗&オフィスのセキュリティ対策術

現在サーバーを一台稼働させているのですが、最近アクセスが急増して頻繁に接続エラーを頻出するようになりました。以前からはサーバー用HDDをOS用とデータ用の物に分けて対処していましたが、最近は処理能力を越えます。
そこで、サービスの特性上重いCGI処理能力と大量データの送受信を求められるので、
新規にLinuxのデータ用のサーバーを増やしサーバー自体を二基にして対処しようと思っています。

そこで質問なのですがどの程度の性能のマシンを揃えた方が良いでしょうか?
一応現時点は同時アクセスが多いときで五十件越えまして、まったくといって良いほど繋がりません。
なお現在のものでもコア2Duo2.8メモリ4GBと結構ハイスペックな物を使用していますが、重いときはローカルからの動作すら受け付けません。HDDの書き込み処理の怠慢、及びCPUの負荷で起こっているものだと思っていますが、詳細原因は不明です。
ウイルス等の危険性はなしと思って良いかと思います。純粋に処理能力の問題だと思ってください。
良ければ対応策についても言及してもらえると幸いです

A 回答 (5件)

完全にHDDがボトルネックなのでどうにかしたいとのことであれば、


HDDを性能のいいものに変えても変わらないでしょう。
RAIDにしてもRAID0は論外(耐障害性上)としてRAID5以上はライトペナルティがありますのでRAID1系になるとおもいますが、話を聞く限りRAIDにしてもしのぎきれないと思います。
おっしゃっているように、サーバ自体を二台、三台と増やして負荷分散させるのがいいかと思います。
システムの詳細が分からないのでなんともいえないですが、ただたんに負荷分散するだけではダメそうな感じは受けますが。
    • good
    • 0

>詳細原因は不明です。


質問者さんがそんな状態では、重いってこと以外何も伝えられていない回答者は回答できないと思います。
まずどこがボトルネックか調べようとしてください。
"~と思う"ではなくて色々なツールなどで確認し数字で出してみれば
何か見えてくるものがあるかもしれませんよ。

また、他の方もおっしゃってますが設定が悪い可能性もあるのです。(例えばwebサーバであればApacheの設定とか)
簡単に、"ウイルスの危険はないから処理能力の問題"としてしまうのは
いかがなものかと思います。設定変更で見違えるほどにパフォーマンス
が上がることもありますし、それで飯を食ってる会社もあるほどです。

また、プログラムソースの問題もあります。効率の悪い処理ばかりで構成されていると利用者が少ない時は気づかないけど利用者が増えてくると顕著に効率の悪さが浮き彫りになり使い物にならないほどの動作になるってこともあります。

この回答への補足

処理の原因を特定したところCGIプログラムではなく、HTTPのデータ送受信によるHDDへのアクセス増加ということが判明いたしました。

現在HDDひとつでデータ用の処理をまかなっていますが、正直速度の問題ではなくてアクセス回数の問題でしたので対応策が見えません。
よければさらなる回答をお願いいたします。

補足日時:2009/12/14 11:56
    • good
    • 0

まずは何がボトルネックに鳴っているか突き止めることです。

それをしないと無駄な投資になりまねません。
トラフィック、CPU、メモリ、プロセス数などのリソース監視を行ってください。ツールはMuninあたりがインストールも簡単で良いでしょう。

書かれている情報だけではなんとも言えませんが、「重いCGI処理能力と大量データの送受信」ということはhttpdのプロセス数が上限に達している可能性もありえます。その場合はhttpdのチューニングをせずにサーバやネットワークを増強しても全くの無駄になります。逆にトラフィックが頭打ちならサーバやメモリを増やしても無駄です。

この回答への補足

全くその通りです。当方でリソースソフトを導入してみたところHDD処理が一番のボトルネックになっていたようです。データ用HDDの停滞率が20%をこえ、データの読み取りは毎秒5Mと重度ではなく軽かったのですが、HDDへの処理回数が毎秒200回を超えていました。
申し訳ありませんが、どのような対応をとれば良いのかわかりません、HDDを増設してRAIDを組めばある程度症状は軽減しそうですが、それでも処理回数自体をハード面で軽減するにはいかがすればよいでしょうか?ご教授お願いいたします。

補足日時:2009/12/14 11:49
    • good
    • 0

ネットワーク同時アクセスで、負荷の掛かる所と言えば、


NIC や HDD かと思います。

NIC や HDD を使用するには、CPU にも 大きな負荷が掛かるので、

ネットワーク処理が完了するまで、CPU を使用するような処理も受付にくくなったりします。

例えば、1000BASE-T のネットワーク環境があっても、
接続する各ユーザ毎に、ネットワーク帯域の100%を使用しているようだと、
ハードウェアの性能にかかわらず、簡単にサーバは応答しなくなるでしょう。

1ユーザ毎に、どれくらいの帯域を確保してありますか?

もし、帯域制限を掛けていないなら、一度試してみる価値はあるかと思います。

この回答への補足

ご回答ありがとうございます。ためになる話をありがとうございます。
回答ついでにいろいろ補足させてもらいますが、現時点は帯域制限無しで上がり毎秒実測で最高35MB/sほど出ます。
最高で50~100接続くらいですから、単純に言えば一人当たり350~700MKB/sは確保していることになるでしょうか・・・、すいませんひとつ重要な補足がありまして、むしろ同時アクセス数が増えるほど、総合速度が低下したりします・・・50アクセスで毎秒2MB/sとか・・・
環境は1000BASE-T、プロバイダは1Gbpsのとこと契約してます。

昔総合帯域制限といって全体に帯域をかけた経歴があるのですが、1ユーザ毎に関してはやり方がわかりませんでした・・・
まだまだ未熟なもので申し訳ありません、良ければ導入だけでも困わないので方法などをご教授いただけないでしょうか?

補足日時:2009/12/04 22:34
    • good
    • 0

こんちゃ


サーバーはCPUの数と性能も大事です。
クライアントマシンしかわからないなら、
正直、プロに構成を見てもらい直しを依頼しましょう。
この程度の情報で、どうこうできるわけはありません。
対策は金を払ってプロに運用を依頼しましょう。
以上ですな。
脅かすわけではありませんが4年前の東証の事件も
プロをきちんと入れていないか、認識の甘さで起きてますから。
ITの事件はすべてそんなものです。
頑張って下さい

この回答への補足

わざわざご回答ありがとうございます。
当方は個人的な趣味や技術向上のために運営しているサイトですので、プロ等の件は見送らせていただこうと思っています。
ご忠告どうもでした。

補足日時:2009/12/04 22:17
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!