2011年4月16日

[mysql 15577] Re: [mysql 15576] Re: MySQLの負荷分散について

Nia です。

森さん、返信ありがとうございます。

On 2011/04/15, at 17:44, Eigo Mori wrote:

>
> 森です。

>
>> 今、MySQLとPHPでWebサービスを作っているのですが、
>> 負荷分散について悩んでいます。
>>
>> 悩んでいるというよりは、どのような点に注意したら良いのか、
>> どんなデータベースを設計すれば最適なのか、そのための基礎がわからない状態
>> です。
>> 自分でテストできる環境があればいいのですが、それも今はありません。
>
>> もしよろしければ、参考になる書籍などを紹介していただけませんでしょうか?
>
> もう少し具体的に状況を説明していただけると、皆さんがアドバイスを差し上げや
> すいかもしれません。どのようなサービスを、どのような規模で設計されていて、
> なぜMySQLの負荷分散が必要だとお考えなのでしょう。(例えば参照が多いシステム
> と更新の多いシステムでは対処法も変わってくることでしょう)

ご指摘ありがとうございます。
私が相談を受けているシステムはいくつもあるので、具体的なトラブルがあるわけではないのです。
ただ、いくつか起こっている問題が「負荷分散をきちんと検討できていない」ことに
起因しているようなので、このような質問になりました。

> 広く一般的な意味で、データベース設計のお作法(教科書)のようなものはあると
> は思いますが、そうではなくてMySQLの具体的な問題を解決したいと言うことであ
> れば、サービスやシステムに応じてボトルネックを見つけ、それに対する解決法を
> 見つけるのが道かと思います。
>
> 後者に関しては奥野さんの本が参考になると思います。
>
> エキスパートのためのMySQL[運用+管理] トラブルシューティングガイド

具体的な書籍を挙げていただき、ありがとうございます。
早速読んでみます。

それから、あるシステムについて(上記しましたものの、一つです)
少しアドバイスを頂ければと思うのですが……。

40程度のクライアントグループが2つ(計80台)と2台のサーバーがLAN内にあり、
クライアントはそれぞれサーバーAとBにアクセスを行っています。
サーバーAはMySQLのデータベースサーバーで、サーバーBは別の処理を行うものです。
サーバーAは、40台+サーバーBからのリクエストに対応しているような状態です。

リクエストは参照と更新が半々ですが、更新のほとんどはログの記録で、
主となるデータ(以下データ)は参照されるものばかりです。

このデータは20カラム程度のテーブルに格納されているのですが、
テーブル単位でデータの出力・入力が行われるため、
いくつものテーブルがスキーマ内に存在している状態です。
クライアントによって参照しているテーブルが切り替わります。

クライアント側では、一つのデータを取得して表示しています。
ユーザーの操作で、表示データが切り替わります。
(切り替わる際に再度データをリクエストします)

この状態で、「複数のクライアントに同時に同じデータを表示させたくない」という場合、
どのようにデータへのアクセスをロックするのが最適でしょうか。

データベースへのアクセスはPHPなどによって行っているので、コネクションは毎回切断されます。
また、コネクション情報でユーザーの判別は行っていません。

現在はロックのためのテーブルを作っているというお粗末な状態なのですが……。
勉強不足もあり上手く説明できないのですが、もしアドバイス頂ければ幸いです。


--
+ Nia Eashes
Mail: nia.eashes@xxxxx

投稿者 xml-rpc : 2011年4月16日 21:42
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/103065
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。