2

Mysql サーバーの負荷が高く、現在は平均 300 qps です。

平均で 50% の CPU を使用し、700MB の RAM しか使用しません。私のサーバーには 8GB があり、3GB 以上の空き容量があります。スロー クエリ ログは問題ないようです。数も少なく、頻度も高くありません。

キャッシュされた結果が返されていることを確認し、不必要にディスクに触れないようにしたいと考えています。

Linux OS は innodb ファイルをキャッシュしていると思いますが、それを信頼できますか? また、バッファリングまたはキャッシングによって CPU 使用率を下げる良い方法はありますか?

innodb_buffer_pool_size はデフォルト値に設定されています。(8MB)

Innodb、MyIsam、および Memory テーブルが混在しています。

これはチューナースクリプトからの出力です

INNODB STATUS
Current InnoDB index space = 238 M
Current InnoDB data space = 294 M
Current InnoDB buffer pool free = 0 %
Current innodb_buffer_pool_size = 8 M

KEY BUFFER
Current MyISAM index space = 113 M
Current key_buffer_size = 192 M
Key cache miss rate is 1 : 63
Key buffer free ratio = 74 %
Your key_buffer_size seems to be fine

QUERY CACHE
Query cache is enabled
Current query_cache_size = 256 M
Current query_cache_used = 19 M
Current query_cache_limit = 1 M
Current Query cache Memory fill ratio = 7.64 %
Current query_cache_min_res_unit = 4 K
Query Cache is 28 % fragmented
4

1 に答える 1

1

3GB の空き容量があるinnodb_buffer_pool_sizeため、innodb データセット全体 (データ + インデックス) を保持するようにブーストします。

1G を与えて、呼吸する余裕を持たせます。後悔することはありません。:)

于 2010-11-25T22:39:34.303 に答える