ホームページ > データベース > mysql チュートリアル > mysql のパフォーマンスを最適化するための 10 個のパラメーターの詳細な紹介

mysql のパフォーマンスを最適化するための 10 個のパラメーターの詳細な紹介

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

(1)、back_log:
MySQL が持つことができる必要な接続の数。これは、MySQL のメイン スレッドが短期間に多くの接続リクエストを受信し、メイン スレッドが接続を確認して新しいスレッドを開始するのに (短時間ではありますが) 時間がかかる場合に機能します。
back_log 値は、MySQL が一時的に新しいリクエストへの応答を停止するまでに、短期間にスタックに保存できるリクエストの数を示します。短期間に多数の接続が予想される場合にのみ、この値を増やす必要があります。つまり、この値は、受信 TCP/IP 接続のリスニング キューのサイズです。オペレーティング システムには、このキュー サイズに対する独自の制限があります。 back_log をオペレーティング システムの制限よりも高く設定しようとしても、効果はありません。
ホスト プロセス リストを観察して、多数の認証されていないユーザー | xxx.xxx.xxx.xxx が見つかった場合は、back_log の値を増やす必要があります。デフォルト値は50ですが、500に変更しました。

(2)、interactive_timeout:
サーバーが対話型接続を閉じる前に、対話型接続でのアクションを待機する秒数。対話型クライアントは、mysql_real_connect() の CLIENT_INTERACTIVE オプションを使用するクライアントとして定義されます。 デフォルト値は28800ですが、7200に変更しました。

(3)、key_buffer_size:
インデックス ブロックはバッファリングされ、すべてのスレッドによって共有されます。 key_buffer_size はインデックス ブロックに使用されるバッファ サイズです。(すべての読み取りと複数の書き込みに対して) インデックスをより適切に処理できるように、許容できる範囲で増加させます。サイズを大きくしすぎると、システムがページングを開始し、速度が大幅に低下します。デフォルト値は 8388600 (8M) ですが、MySQL ホストのメモリは 2GB なので、402649088 (400MB) に変更しました。

(4)、max_connections:
許可される同時クライアントの数。この値を増やすと、mysqld に必要なファイル記述子の数が増加します。この数を増やす必要があります。そうしないと、「接続が多すぎます」エラーが頻繁に表示されます。 デフォルト値は100ですが、1024に変更しました。

(5)、record_buffer:
順次スキャンを実行する各スレッドは、スキャンするテーブルごとにこのサイズのバッファを割り当てます。大量の連続スキャンを実行する場合は、この値を増やすことをお勧めします。デフォルト値は 131072 (128K) ですが、私は 16773120 (16M) に変更しました

(6), sort_buffer:
ソートする必要がある各スレッドは、このサイズのバッファを割り当てます。この値を増やすと、ORDER BY または GROUP BY 操作が高速化します。デフォルト値は 2097144 (2M) ですが、16777208 (16M) に変更しました。

(7)、table_cache:
すべてのスレッドの開いているテーブルの数。この値を増やすと、mysqld に必要なファイル記述子の数が増加します。 MySQL では、開いている一意のテーブルごとに 2 つのファイル記述子が必要です。デフォルト値は64ですが、512に変更しました。

(8), thread_cache_size:
再利用できるように保存されているスレッドの数。存在する場合は、新しいスレッドがキャッシュからフェッチされ、接続が切断されたときにスペースがあれば、クライアントのスレッドがキャッシュに配置されます。新しいスレッドが多数ある場合、この変数値を使用してパフォーマンスを向上させることができます。 Connections 状態と Threads_created 状態の変数を比較することで、この変数の役割を確認できます。 80に設定してみました。

(9) Mysql 検索関数
mysql で検索します。目的は、大文字と小文字を区別せず、中国語で検索することです
mysqld の起動時に --default-character-set=gb2312 を指定するだけです

(10) 、wait_timeout:
サーバーが接続を閉じる前に接続に対するアクションを待機する秒数。 デフォルト値は28800ですが、7200に変更しました。

注: パラメーターを調整するには、/etc/my.cnf ファイルを変更し、MySQL を再起動します。これは比較的慎重な作業であり、上記の結果は単なる私の意見であり、自分のホストのハードウェア条件 (特にメモリ サイズ) に応じてさらに変更できます。

読んでいただきありがとうございます!さらに関連記事を入手したい場合は、PHP 中国語 Web サイト (www.php.cn) に注目してください!

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