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

mysql:15099

From: Mikiya Okuno <Mikiya Okuno <Mikiya.Okuno@xxxxxxxxxx>>
Date: Fri, 11 Dec 2009 22:17:43 +0900
Subject: [mysql 15099] Re: [MySQLクラスタ] SQLノードに当てるメモリ量

奥野です。

宝田さん、初めましてこんばんは。

takarada623@xxxxxxxxxx wrote, On 11/12/09 9:19 PM:
> ■下記考察は正しいでしょうか、また、SQLノードのメモリ量算出に関して教えて 
> 頂きたく思います。
> 
> データノードは、メモリに関してはレコード数・容量に依存、
> ディスクはREDOログの読み書きが発生するため高速なものを考えています。
> 
> SQLノードですが、データノードへのクエリの中継及び
> 結果のマージのコストが高くつくと考えられるため、CPUマターと思っています。
> 
> ただ、MYSQLはメモリを増やすのが一般的です。
> MYSQLクラスタの場合、SQLノードのメモリ量は、どの程度必要でしょうか?
> またSQLノードのチューニングに関して情報が少なく、教えて頂ければ幸いです。

MySQL Clusterの場合、SQLノードにはそれほど大量のメモリは必要ないです。
なぜなら、InnoDBバッファプールのようなバッファがないからです。
(データは全てデータノードですし。)

なので、それほど接続数が多くなければmysqld用に1GBもあれば十分過ぎだったりします。
デフォルトの設定なら、「最大接続数 * 2.5MB + α」程度で良いでしょう。

セッション用のメモリとしては、デフォルトではsort_buffer_size=2Mが一番食います。
ただし全てのセッションがソートするわけではないので、実際に利用されるのは
もっと少ないかも知れません。各セッションどの程度メモリを消費するかは
アプリケーションの負荷のタイプによりますので、負荷テストされることを
おすすめします。

また、SQLノードはひとつのホストで単一のmysqldを利用して動かすよりも、
複数のmysqldを(ポートやデータディレクトリを変えて)走らせたほうが
内部でロック競合が起こりにくい分性能が出るので、もし手間でなければ
そのように設定するのもアリだと思います。

-- 
奥野 幹也
http://www.google.com/profiles/mikiya.okuno
http://nippondanji.blogspot.com/
http://twitter.com/nippondanji

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

   @ 15098 2009-12-11 21:19 [<takarada623@xxxxxxx] [MySQLクラスタ] SQLノードに当てるメモリ量
->   15099 2009-12-11 22:17 ┗[Mikiya Okuno <Mikiya]                                       
   @ 15100 2009-12-11 23:00  ┗[<takarada623@xxxxxxx]                                     
     15101 2009-12-12 00:03   ┗[Mikiya Okuno <Mikiya]