[前][次][番号順一覧][スレッド一覧]

mysql:15577

From: Nia Eashes <Nia Eashes <nia.eashes@xxxxxxxxxx>>
Date: Sat, 16 Apr 2011 21:42:32 +0900
Subject: [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@xxxxxxxxxx


[前][次][番号順一覧][スレッド一覧]

     15575 2011-04-15 15:38 [Nia Eashes <nia.eash] MySQLの負荷分散について                 
     15576 2011-04-15 17:44 ┗["Eigo Mori" <eigom@x]                                       
->   15577 2011-04-16 21:42  ┗[Nia Eashes <nia.eash] Re: [mysql 15576] Re: MySQLの負荷分散について