質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.42%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

解決済

1回答

13902閲覧

発行クエリ数とMySQLのメモリ使用量について

tk_flavor

総合スコア104

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

0クリップ

投稿2017/01/26 07:15

編集2017/01/26 07:17

現在稼働している、MySQLのDBサーバに別のサービスを相乗りさせる時の
MySQLに割り当てるメモリ使用について質問させて下さい。

OS搭載メモリが64GBのDBサーバでMySQLのinnodb_buffer_pool_size に割り当てているメモリ量は
42GBです
で、現在、割り当てているメモリ量のうち実際MySQLがどれくらいメモリを使用しているかを
下記サイトのselectで確認した結果は下記になります
http://qiita.com/takarake/items/68a5b933c5a2460c9ebf

*************************** 1. row ***************************
GLOBAL_KEY_BUFFER_SIZE: 8388608
GLOBAL_INNODB_BUFFER_POOL_SIZE: 45097156608
GLOBAL_INNODB_LOG_BUFFER_SIZE: 8388608
GLOBAL_INNODB_ADDITIONAL_MEM_POOL_SIZE: 8388608
THREAD_BUFFER_SIZE: 10489856
TOTAL_MEMORY_SIZE: 49842774016
TOTAL_MEMORY_SIZE_kb: 48674584.0000
TOTAL_MEMORY_SIZE_mb: 47533.77343750
TOTAL_MEMORY_SIZE_gb: 46.419700622559
1 row in set (0.00 sec)

TOTAL_MEMORY_SIZEを約49GBと表示されるのですが
上記の通りでmy.cnfではinnodb_buffer_pool_size = 42Gとしています

質問1.
これは、innodb_buffer_pool_size 以上のメモリが使われている事になりますか?

質問2.
この状態で別サービスを同じDBサーバで運用し、現行と同じクエリ発行数が加算されると仮定した時
さらにTOTAL_MEMORY_SIZEも増えていく事でいいでしょうか
トータルメモリ量が増える事になるなら、物理メモリ量を増設した方がいいのでしょうか

ちなみに、OSで使用されているメモリ空きは28GB/64GBとなっています

total used free shared buffers cached

Mem: 64319 50288 14031 0 66 107
-/+ buffers/cache: 50113 14206
Swap: 8191 3882 4309

以上、よろしくお願いします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

そこまでパフォーマンスに詳しくはないですが...

質問1.

これは、innodb_buffer_pool_size 以上のメモリが使われている事になりますか?

なりません。
GLOBAL_INNODB_BUFFER_POOL_SIZEは45097156608なので
45097156608/1024/1024/1024 = 42GB です。
TOTAL_MEMORY_SIZEは他のメモリ領域も合わせての値です。
なお、この参考サイトのSQLはINNODB_BUFFER_POOL_SIZEの設定値を見ているだけであって、
バッファプール内の使用状況とは関係ないと思います...

バッファプールの状態を見たいなら、以下のコマンドだと思いますよ。

sql

1SHOW ENGINE INNODB STATUS;

質問2.

この状態で別サービスを同じDBサーバで運用し、現行と同じクエリ発行数が加算されると仮定した時
さらにTOTAL_MEMORY_SIZEも増えていく事でいいでしょうか
トータルメモリ量が増える事になるなら、物理メモリ量を増設した方がいいのでしょうか

クエリ数が増えてもTOTAL_MEMORY_SIZEは設定値以上には増えません。
ただし、メモリが増えないけど、キャッシュしたいデータは増えるので、今まで以上にキャッシュにないデータを取得する必要が増えて、ディスクへのアクセスが増える可能性はあると思います。ただ、メモリ以外がボトルネックになる可能性も十分あると思うので、メモリを増やせばいいかどうかも判断は難しいと思います。

投稿2017/01/26 12:47

編集2017/01/26 13:01
popobot

総合スコア6586

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.42%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問