現在PHP+MySQLで運用中のECサイトがあります。サーバ構成は2台でWEBサーバとDBサーバを分けて使っています。

最近MySQLの負荷が高くなってきて度々接続エラーになることがあります。MySQLサーバがもしダウンした場合に、もう一台のMySQLですぐにスイッチしてデュアルで運用できるようなイメージを想定していますが、そういったことを実現するために何が必要で、度の手順で行えばいいのか教えてください。
ちなみに、現状のWEBサーバとDBサーバを移動することはできません。(IPアドレスがいろいろな関係各所に登録されているため)
あくまで、現状のWEBサーバとDBサーバの構成に対して補強方向でアドバイスお願いします。

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2009/05/05 14:05:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:kn1967 No.1

回答回数2915ベストアンサー獲得回数301

データがたとえ1行分でも消えたり

たとえ1行分でも情報が古かったりしては困るのですから、

常に平行してデータが書き込まれるような仕組みが必要になります。

   ↓

既に手一杯な状態の現状に対して、そのような仕組みを追加すると・・・

さらなる負担増になりますので、新しいサーバを用意するのが良いでしょう。

   ↓

(1)MySQL Clusterを搭載したサーバを用意して既存のDBサーバと入れ替えます。

(2)既存のDBサーバには新しいIPアドレスを与えて(1)のノードとして接続します。

(3)もう一台サーバを用意して(2)のミラーとなるように(1)を設定します。

最小構成としては以上のようになります。


Clusterについては下記などが判りやすいかと思いますが

一言で無理やり説明すると「複数台をまるで1台のように扱う」という技術です。

[MySQLウォッチ]第28回 MySQL 5.1期待のクラスタリング機能:ITpro


ところで、

・応答なしとなる原因は本当にサーバー負荷なのでしょうか?

・回線が細くて込み合っているという事はないのでしょうか?

・プログラムの構造見直しは行われているのでしょうか?

・メモリ増設、HDDを高速なものに取り替えたり

  データ保全も考えてRAIDにしたりなどといったハードウェア強化は?

などなど・・・IPは変えられないということですが

それも含めて全体的な見直しに迫られているように感じられますので

hatenaで軽く相談するのではなく

MySQLの開発を行っている業者を探されたほうがよろしいかと思います。

(どこまでやるかで、目ん玉飛び出るような値段になる可能性もありますので

まずは複数社で合い見積しましょう)

id:php123456

ありがとうございました。

検討してみます。

2009/04/28 16:19:33
id:hijk05 No.2

回答回数1307ベストアンサー獲得回数23

ポイント70pt

>最近MySQLの負荷が高くなってきて度々接続エラーになることがあります

DBの最大コネクション数を単純に増やせばよいと思いますよ。

か、コネクションプールする設定にすればどうでしょうか?

  • id:kn1967
    >デュアルで運用できるようなイメージを想定していますが、
    >そういったことを実現するために何が必要で、度の手順で行えばいいのか教えてください。

    ゼロポイントとは・・・
    まったくもって評価に値しない回答だということですね・・・失礼しました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません