1

私は専用サーバーを持っています - 8GBのRAMと2 x 500GB 7200RMP HDDを搭載したIntel Xeon L5320

大規模な 5Gb MyISAM テーブル + 約 25 から 30 の小さなデータベースに対処するために、mysql を最適化する必要があります。現在、次のようになっています。

key_buffer = 3G
thread_cache_size = 16
table_cache = 8192
query_cache_size = 512M

サーバーが本当に苦労していて、tmp ディスクがいっぱいになるという警告が引き続き表示されるので、私のサーバーに最適な my.cnf 構成や、パフォーマンスを向上させるその他の設定変更を提案してください。

前もって感謝します

4

2 に答える 2

1

mytopmysqltunerを使用して、mysql リソース (RAM と CPU) を使用して分析することをお勧めします。

スロークエリをログに記録するオプションを有効にするには:

log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 3

そして、 ntpdサービスに関するこの投稿をチェックしてください。

MySQL の高い CPU 使用率

最後に、高レートのトランザクション用の専用サーバーがある設定にします。

max_allowed_packet=16M
key_buffer_size=8M
innodb_additional_mem_pool_size=10M
innodb_buffer_pool_size=512M
join_buffer_size=40M
table_open_cache=1024
query_cache_size=40M
table_definition_cache=256
innodb_additional_mem_pool_size=10M
key_buffer_size=16M
max_allowed_packet=32M
max_connections = 300
query_cache_limit = 10M
log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 3

ご挨拶。

于 2012-11-26T20:18:08.417 に答える
1

がいっぱいになっている場合/tmpは、FILESORT にフォールバックしている大規模で非効率的なクエリをどこかで実行しています。適切に作成された効率的なクエリでは、通常、これは必要ありません。スロー クエリ ログを有効にし (有効になっていない場合)、ログをチェックして、最適化が必要なものを確認します。

于 2012-11-26T16:30:44.417 に答える