skillup

技術ブログ

Database

MySQLのメモリ設定

投稿日:

実務で結構サーバーをヘビーに使われるお客さんがいて、SQLが遅くなったりとしています。

なんとか対策しないといけないので、いろいろと調査をいます。

それで今回はMySQLのメモリ問題など。

MySQLのトータルのメモリ量は下記の公式で評価できるようです。

メモリ使用量 = グローバルバッファ + (スレッドバッファ x スレッド数)

http://qiita.com/zaburo/items/65bac3b8e0a635ada68c

http://sawara.me/mysql/1428/

初歩的なことから書いておりわかりやすいです。

グローバルはMySQL全体で消費されるメモリで、スレッドのほうは単一のコネクションで使用されるバッファのようです。

どうやらmax_connectionとinnodb_buffer_pool_sizeを適切に設定するのが肝のようです。

http://nick.hateblo.jp/entry/2014/01/26/183822

具体的な設定を試行錯誤しており、メモリの仕様なども随時出しているのでわかりやすい。

全然まとまってないので追記するかも・・・

-Database
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

transactionが切れた場合のロックの復旧方法

transactionをスタートしたまま、commitせずにプログラムを途中で止めた場合の処理について。 不用意にプログラムを止めないようにしましょう。 Contents1 ロックのメカニズム1.1 …

no image

外部結合 応用編2

引き続き結合についてです。 Contents1 1対Nの結合に関して2 完全外部結合3 差集合(class_aだけに存在するものとclass_bだけに存在するもの)3.1 class_aのみ3.2 c …

no image

Postgresメモ(データベース、スキーマ、他pgadminなど)

postgresをちょこちょこ触っており、超基礎的な事に関してMySQLでは触れられていないネタなどについて。 以前のリンク Postgresの基礎(主にMySQLとの違いなど) Contents1 …

no image

SQL 集計関数の利用

先日同様、ある程度複雑な問題のSQLに関して。出典はSQL実践入門。 問題 下記のようなテーブル(テーブル名)で より古い年のデータが存在しない場合 NULL 直近の年のデータより売り上げが伸びた場合 …

no image

SQLクエリ比較

クエリの比較 SQLにおいては全く同じ結果を返すのであってもその検索結果が異なるということはよくあります。 例えば下記のようなテーブルがあった場合 co_cd | district —&# …