記事「MySQL の最適化: キャッシュの最適化」では、システムによってコンパイルされた変数値、または my.cnf で構成された変数値を示すために show variables が使用されるという非常に重要な概念について説明されています。ステータスの表示はステータス値と呼ばれ、現在のサービス インスタンスのステータス情報を表示するもので、動的に変化する値です。したがって、現在のMySQl操作が正常かどうかを観察するためによく使用されます。正常でない場合は、静的パラメータを調整することでMySQLのパフォーマンスを向上させることができます。したがって、これら 2 つの概念の違いを理解することが、その後のチューニングの基礎となります。 MySQL接続の最適化 以前、社内で MySQL に接続しようとした時に、接続できなかったことがありました。 DBAを見つけて原因を調査したところ、現在のMySQL接続数がいっぱいであることがわかりました。調整後、問題は解決しました。通常、接続数が多すぎるというエラーには 2 つの原因があります。1 つ目は、MySQL に接続している人が多すぎるために、接続数が不足していることです。 2 つ目は、max_connections 値が小さすぎることです。 1. 接続パラメータ(変数を表示) mysql> '%connect%' のような変数を表示します。 +-------------------------------------------------+-----------------+ | 変数名 | 値 | +-------------------------------------------------+-----------------+ | 文字セット接続 | utf8 | | 照合接続 | utf8_general_ci | | 接続タイムアウト | 10 | | パスワードの有効期限が切れると切断 | オン | | 初期化接続 | | | 最大接続エラー数 | 100 | | 最大接続数 | 151 | | 最大ユーザー接続数 | 0 | | パフォーマンス スキーマ セッション接続属性サイズ | 512 | +-------------------------------------------------+-----------------+
2. 接続ステータス(ステータスの表示) 注意すべき点は、変数値(変数を表示)は小文字で始まり、ステータス値(ステータスを表示)は大文字で始まることです。この区別は記憶と分類に役立ちます mysql> '%connections%' のようなステータスを表示します。 +-----------------------------------+-------+ | 変数名 | 値 | +-----------------------------------+-------+ | 接続エラー最大接続数 | 0 | | 接続 | 197 | | 最大使用接続数 | 2 | +-----------------------------------+-------+
Max_used_connections は、MySQL の起動以降に同時に行われた接続数の最大値を示します。この値が max_connections より大きい場合、システムは頻繁に高同時接続状態にあることを示しているため、同時接続の最大数を増やすことを検討する必要があります。 3. 接続スレッドパラメータ(スレッド変数とステータス) mysql> 'thread%' のような変数を表示します。 +--------------------+----------------------------+ | 変数名 | 値 | +--------------------+----------------------------+ | スレッドキャッシュサイズ | 9 | | スレッド同時実行性 | 10 | | thread_handling | 接続ごとに 1 つのスレッド | | スレッドスタック | 262144 | +--------------------+----------------------------+
スレッドのステータス情報を表示する mysql> 'Thread%' のようなステータスを表示します。 +-------------------+------+ | 変数名 | 値 | +-------------------+------+ | キャッシュされたスレッド | 1 | | スレッド接続数 | 1 | | 作成されたスレッド | 2 | | 実行中のスレッド | 1 | +-------------------+------+
接続要求スタック MySQL が短時間に大量の接続要求を突然受信した場合、MySQL は時間内に処理できない接続要求をスタックに保存し、その後の MySQL による処理に備えます。 back_log パラメータはスタックのサイズを設定します。これは次のコマンドで表示できます。 mysql> 'back_log' のような変数を表示します。 +---------------+-------+ | 変数名 | 値 | +---------------+-------+ | バックログ | 80 | +---------------+-------+ 接続異常 mysql> 'Aborted%' のようなステータスを表示します。 +------------------+-------+ | 変数名 | 値 | +------------------+-------+ | 中止されたクライアント | 0 | | 中止された接続 | 219 | +------------------+-------+
他の mysql> 'Slow%' のようなステータスを表示します。 +---------------------+-------+ | 変数名 | 値 | +---------------------+-------+ | 遅い起動スレッド | 0 | | 遅いクエリ | 0 | +---------------------+-------+ mysql> 'slow_launch_time' のような変数を表示します。 +------------------+-------+ | 変数名 | 値 | +------------------+-------+ | 遅い起動時間 | 2 | +------------------+-------+ Slow_lunch_threads スレッドの作成時間が長すぎて slow_launch_time の設定値を超えると記録されます。 Connection_error% を使用して、接続のエラー ステータス情報を表示できます。 mysql> 'Connection_error%' のようなステータスを表示します。 +-----------------------------------+-------+ | 変数名 | 値 | +-----------------------------------+-------+ | 接続エラー受け入れ | 0 | | 接続エラー内部 | 0 | | 接続エラー最大接続数 | 0 | | 接続エラー ピアアドレス | 0 | | 接続エラー選択 | 0 | | 接続エラー_tcpwrap | 0 | +-----------------------------------+-------+ Connection_errors_peer_address MySQL クライアント IP アドレスの検索中に発生したエラーの数。 以下もご興味があるかもしれません:
|
<<: Linuxはiptablesを使用して複数のIPからのサーバーへのアクセスを制限します
>>: JavaScriptにおけるこのポインティング問題の詳細な説明
私は最近、ユーザー操作を元に戻す、またはやり直す機能を備えたビジュアル操作プラットフォームを開発して...
この記事では、例を使用して、MySQL 条件クエリ and or の使用方法と優先順位を説明します。...
社内には以前からアイドル状態だった、構成の整ったサーバーがあったので、EXSI 6.0 を使って複数...
目次過去1週間の時間を取得する過去1か月の時間を取得する過去3か月分を取得新しい Date() と ...
3D効果を実現するには、主にCSSのpreserve-3dプロパティとperspectiveプロパテ...
数式 calc() は CSS の関数であり、主に数学演算に使用されます。 calc() を使用する...
この記事では、JavaScriptでシンプルな時計を実装するための具体的なコードを参考までに紹介しま...
準備まず、nodejs をダウンロードする必要がありますが、これは問題ないはずです。原文はwebst...
目次1. データ型1.1 なぜデータ型が必要なのか? 1.2 変数のデータ型1.3 データ型の分類2...
エラーは次のとおりです:キャッチされない TypeError: 未定義のプロパティ 'mod...
2日前、ダブル11ショッピングフェスティバルを利用して、Alibaba CloudでECS(サーバー...
目次1. テーブルを作成する1.1 テストテーブルt_userを作成する1.2 一時テーブルの作成2...
使用シナリオ: Alibaba Cloud を使用しており、データディスクを別途購入しました (大容...
序文負荷分散には nginx を使用します。アーキテクチャのフロントエンドまたは中間層として、トラフ...
以下は私がまとめた基本的なSQL知識です。主に参考資料として、また将来の他の初心者の助けとして、私自...