1

2 つのデータベース MySQL サーバー (2 つの異なる Web サイトから) で、mysqltuner を起動しました (Web サーバーにタイムアウトがありますが、現時点ではそれがどこから来たのかはわかりません)。

mysqltuner によるアドバイスを提供するための最適化は次のとおりです。データベースは、4vcpu と 15 GB の RAM (ubuntu 16.04 サーバー) を備えたマシンで実行されます。

mysqltuner の推奨事項:

db01 製品

調整する変数:

query_cache_type (= 1)
join_buffer_size (> 256.0K, always use indexes with joins)
table_open_cache (> 431)
innodb_buffer_pool_size (> = 1G) if possible.

db02 製品:

調整する変数:

max_connections (> 151)
wait_timeout (<28800)
interactive_timeout (<28800)
query_cache_type (= 1)
sort_buffer_size (> 256K)
read_rnd_buffer_size (> 256K)
join_buffer_size (> 256.0K, always use indexes with joins)
table_open_cache (> 431)
innodb_buffer_pool_size (> = 2G) if possible.

私はあなたの意見を聞きたいのですが、特にこれらのパラメーターを理解したいと思っています (私は MySQL を少し使い始めました ^^)。

4

1 に答える 1

1

高 CPU --> 遅いクエリを見つけます。インデックスおよび/またはクエリの定式化を処理します。

高い I/O --> 同上。

高 CPU または I/O および/またはクエリのタイムアウト --> スローログをオンにします。それはそれをキャッチします。(あったほうがいいlong_query_time = 1です。)

RAM よりも多くのデータ --> チェックinnodb_buffer_pool_size

「接続が多すぎます」 --> さまざまな原因が考えられます

上記のどれでもない?--> 心配しないでください (まだ)。

于 2018-03-07T19:11:37.987 に答える