MYSQL学習まとめ⑥:my.cnfの各パラメータの設定と状態に応じた最適化

黄舟
リリース: 2016-12-23 17:14:20
オリジナル
1679 人が閲覧しました

#ここでは [mysqld] の部分のみを説明します
Datadir = /data/mysql //mysql データ ディレクトリ
スキップ ロック // エラーの可能性を減らします
Key_buffer = 384M // インデックス バッファ サイズ、設定方法を説明します詳しくは後述
Max_allowed_pa​​cket = 1M //ネットワーク送信におけるメッセージ送信の最大値
Table_cache = 512 //テーブルのバッファサイズ
Sort_buffer_size = 2M //ソートクエリ時のバッファサイズ、詳しくは後述
Read_buffer_size= 2M//クエリ操作で使用できるバッファサイズ
Read_rnd_buffer_size = 8M //ランダムクエリ操作で使用できるメモリサイズ
Myisam_sort_buffer_size=64M //MyISAMテーブル変更時の並べ替えに必要なバッファサイズ
Thread_cache_size = 8M / /トレッド キャッシュ プールを設定します。キャッシュできる接続スレッドの最大数 (4G 以上のメモリ、64 以上の値)
Query_cache_size = 32M //クエリ バッファ サイズ
Thread_concurrency = 8 // 数値に設定します論理サーバーの数 * 2
Thread_stack = 256K //MYSQL 各スレッドのスタック サイズ、デフォルト値は十分な大きさですが、ERROR:1436 スレッド スタック オーバーランが発生した場合、値を増やすことができます
Skip-name-resolve //It接続されているマシンの DNS 解決を追加、削除するのが最善です。エラーが頻繁に発生します: 2013 はこれが原因でした
Log-bin=mysql-bin //バイナリ ログを開きます
Log-slow-queries = /usr/local/mysql/ var/slowquery.log //スロークエリログを開いて、どのクエリがタイムアウトしたか、どのクエリにインデックスがないかを確認します。デフォルトの低速クエリ時間は 5 秒で、5 秒を超えるクエリは記録されます。 set long_query_time = 2 を使用して低速クエリ時間を設定できます。また、mysqldumpslow を使用して低速クエリ ログを分析することもできます。たとえば、最もアクセスされた 20 のステートメントを分析するには、mysqldumpslow –s c –t 20 /usr/local/mysql を使用します。 /var /slowquery.log


#MYSQLのステータスを確認して各パラメータの値を変更します


#MYSQLのステータスを確認するには、主にshowコマンドを使用し、通常はシステムのステータスと可変パラメータの値を確認します
例: 現在のシステムの速度を確認します クエリログ
「%slow%」のようなグローバルステータスを表示します。 //スロークエリの数を取得できます。 low_queries
現在のスロークエリの設定を確認します
「%slow%」のような変数を表示します。 ”; //slow_launch_time を取得できます
#Set max_connections 値とビュー
“max_connections” のような変数を表示します。
“max_used_connections” のようなグローバル ステータスを表示します。
max_used_connections が max_connections の値に近い場合は、max_connections の値を増やす必要があります。 max_connections = 256 に設定します (再起動後、my.cnf に記述するのが最適です)


#key_buffer_size の値を設定します
グローバルステータスを "key_read%" のように表示します。 計算式: key_reads/ Key_read_requests

#プロセスの使用状況を確認する
「Thread%」などのグローバルステータスを表示します。

Threads_created が大きすぎる場合は、MYSQL サーバーがスレッドを作成していることを意味し、thread_cache_size の値を調整できます。


#クエリ キャッシュ (qurey_cache_size) の設定を表示します
“qcache%” のようなグローバル ステータスを表示します

“query_cache%” のような変数を表示します
クエリには 3 つの指標があります:
クエリ キャッシュの断片化率= Qcache_free_blocks/Qcache_total_blocks、20% を超える場合は、フラッシュ クエリ キャッシュを使用してキャッシュをデフラグできます。
クエリ キャッシュ使用率 = (query_cache_size-Qcache_free_memory)/query_cache_size。25% 未満の場合は、query_cache_size の設定が大きすぎることを意味します。 80% を超え、Qcache_lowmem_prunes>50 の場合、query_cache_size が少し小さいことを意味します。
クエリキャッシュヒット率=(Qcache_hits-Qcache_inserts)/Qcache_hits、これは参考値です。小さすぎる場合は、頻繁に読み取りと書き込みが行われ、フラグメントが存在することを意味します。


#開いているファイルの数を表示する
“open_files” などのグローバル ステータスを表示します。

“open_files_limit” などの変数を表示します。

通常、開いているファイルの数/開いているファイルの数を制限する値は 75% 未満である必要があります。


包括的 上で述べたように、注意すべきは次のパラメータです:
Key_buffer = 384m // 調整
Max_Connections = 256 // 実際の状態を調整
Thread_cache_size = 64m // メモリは 4G または 64 またはそれ以上より大きい

Query_cache_size = 64M
Tmp_table_size = 256M //最大メモリ一時テーブル値
Table_cache = 614 //テーブルによって割り当てられたメモリにアクセスするとIOを削減できる
Skip-name-resolve //アクセスタイムアウトなどを避けるために追加

上記は MYSQL 学習の要約 (6): my.cnf パラメーターの設定とステータスの最適化です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート