2011-07-21 5 views
2

私は8GBのRAMを搭載したサーバ上で500Mbのデータベースを稼動するMySQLサーバを持っています。すべての利用可能なメモリ(私は8Gbの約80%を意味する)を取る任意の賢明な調整がありますか?MySQLのチューニングメモリ超過

+0

MySQLにはいくつかのサンプル構成が用意されています。大きなメモリ環境で... –

+0

私の答えは実際の公式で更新されました! – RolandoMySQLDBA

+0

InnoDBとMyISAMの両方の式で私の答えを更新しました。 – RolandoMySQLDBA

答えて

2

チューニングする内容によって異なります。低メモリ環境であっても、InnoDBやMyISAMを調整したい場合は、このリンクから数式を調整する必要があります。 - >https://dba.stackexchange.com/questions/1/what-are-the-main-differences-between-innodb-and-myisam/2194#2194

基本的には、InnoDB用に75%のRAMが必要です。すべてのMyISAMの場合は、リンクに記載されている数式からの推奨値を測定します。

UPDATE 2011-07-21 13:52 EDT

カットし、この式を貼り付け

SELECT CONCAT(ROUND(KBS/POWER(1024、(PowerOfTwo IF(PowerOfTwo < 0,0、IF > 3,0、PowerOfTwo))+0.49999)、 SUBSTR( 'KMG'、IF(PowerOfTwo <,0,0、IF(PowerOfTwo> 3,0、PowerOfTwo))+ 1,1))recommended_innodb_buffer_pool_size
FROM SELECT SUM(data_length + index_length)KBS FROM information_schema.tablesM
WHERE engine = 'InnoDB')A、
(SELECT 2 PowerOfTwo)B;

与えられたデータセットのInnoDBバッファプールサイズを出力します。

カットし、これと同様の一つ

SELECT CONCAT(ROUND(KBS/POWER(1024、IF(PowerOfTwo < 0,0を、貼り付け(PowerOfTwo> 3,0、PowerOfTwo)))+ 0.4999)IF 、 SBSSTR( 'KMG'、IF(PowerOfTwo <,0,0、IF(PowerOfTwo> 3,0、PowerOfTwo))+ 1,1))recommended_key_buffer_size
FROM(SELECT LEAST(POWER(2,32)、KBS1) KBS FROM
(SELECT SUM(index_length)KBS1 FROM information_schema.tables
WHERE engine = 'MyISAM'およびtable_schema NOT IN( 'information_schema'、 'mysql'))AA
)A、(SELECT 2 PowerOfTwo)B;

指定したデータセットのMyISAMキーバッファサイズが出力されます。

これらの両方の式を実行してください。 MyISAMはインデックスページだけをキャッシュします。 InnoDBは、キャッシュされたデータ・ナッド・インデックス・ページの両方を必要とします。おそらく両方のサイズを組み合わせると、どちらも500 MB未満になります。

UPDATE 2011-07-21夜02時54 EDT

また、あなたはまた、mysqltuner.plをダウンロードし、それを実行することをお勧めしますチューンあたり-DB接続設定に

I recommend tuning your max_connections

をすることができDBサーバー上で実行します。

wget mysqltuner.pl 

このPerlスクリプトは、DB接続の設定を超過しているかどうか、またmysqlが想定する最大のRAMがないかどうかを判断します。必要なRAMの容量が80%を超える場合、per_connect DBの設定(sort_buffer_size、read_buffer_size、join_buffer_sizeなど)を低くしてください。

+0

したがって、innodbにはdata_size + index_sizeだけを使用するのが妥当です。私のサーバーでは1.3Gbです。他の空きメモリをどのように使うべきですか? query_cacheかもしれない? – SiberianGuy

+0

max_connectionsに関するご注意は非常に合理的です、ありがとうございます! – SiberianGuy

関連する問題