人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: php123456
●カテゴリ:ウェブ制作
✍キーワード:DB ECサイト IPアドレス MySQL PHP
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● kn1967
●0ポイント

データがたとえ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の開発を行っている業者を探されたほうがよろしいかと思います。

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

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

◎質問者からの返答

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

検討してみます。


2 ● hijk05
●70ポイント

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ