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]