MySQL のパフォーマンスに問題があると思われる場合は、通常、まず 状態列の情報は非常に重要です。まず各列の意味を確認し、次に共通の状態ステータスを確認します。 列の意味 1. id ステートメントを強制終了する場合に使用するフラグ。例: 2. ユーザー 現在のユーザーを表示します。root でない場合は、このコマンドは権限範囲内の SQL ステートメントのみを表示します。 3. ホスト ステートメントが送信されたIPとポートを表示します。これにより、問題のあるステートメントを発行したユーザーを追跡できます。 4.db このプロセスが現在どのデータベースに接続されているかを表示します 5. コマンド 現在の接続で実行されたコマンド(通常はスリープ、クエリ、接続)を表示します。 6. 時間 この状態の継続時間(秒) 7. 状態 現在の接続を使用して SQL ステートメントのステータスを表示します。これは非常に重要な列です。状態は、ステートメント実行における特定の状態です。たとえば、クエリは完了する前に、tmp テーブルへのコピー、結果のソート、データの送信という状態を経る必要があります。 8.情報 この SQL 文を表示します。長さの制限があるため、長い SQL 文は完全には表示されませんが、問題文を判断するための重要な基準となります。 状態 共通状態分析 1. 睡眠 通常、リソースが解放されないことを意味します。接続プール経由の場合、スリープ状態は一定の範囲内で一定である必要があります。例: データのクエリ時間は 0.1 秒ですが、ネットワーク出力には約 1 秒かかります。元のデータ接続は 0.1 秒で解放できますが、フロントエンド プログラムはクローズ操作を実行せず、結果を直接出力するため、結果がユーザーのデスクトップに表示されるまでデータベース接続はスリープ状態のままになります。 2. ロックされています 操作はロックされています。通常、innodb を使用すると、ロック状態の発生を効果的に減らすことができます。 3. tmpテーブルにコピーする インデックスと既存の構造がクエリ条件をカバーできない場合、クエリ要件を満たすために一時テーブルが作成され、大きな I/O 圧力が発生します。Copy to tmp table は通常、テーブル結合クエリに関連しています。関連するクエリを減らすか、クエリ ステートメントを徹底的に最適化することをお勧めします。この状態でステートメントの実行時間が長すぎると、他の操作に重大な影響を及ぼします。この場合、操作を強制終了できます。 4. データの送信 データ送信はデータを送信することではなく、物理ディスクからデータを取得するプロセスです。結果セットの数が多い場合は、異なるディスクフラグメントからデータを抽出する必要があります。送信データ接続が多すぎる場合は、通常、クエリの結果セットが大きすぎる、つまりクエリのインデックス項目が十分に最適化されていないことが原因です。 5. 結果をクエリキャッシュに保存する この状態が頻繁に発生する場合は、 MySQL データベースの一般的な 2 つのボトルネックは、CPU と I/O のボトルネックです。CPU の飽和は通常、データがメモリにロードされるか、ディスクから読み取られるときに発生します。ディスク I/O ボトルネックは、ロードされたデータがメモリ容量よりはるかに大きい場合に発生します。アプリケーションがネットワーク上に分散されている場合、クエリ量が非常に大きいときにネットワーク上でボトルネックが発生します。システムのパフォーマンス状態を表示するには、mpstat、iostat、sar、vmstat を使用できます。 サーバーハードウェアのパフォーマンスボトルネックに加えて、MySQL システム自体についても、ツールを使用してデータベースのパフォーマンスを最適化することができます。通常、インデックスを使用する、EXPLAIN を使用してクエリを分析する、MySQL の内部構成を調整するという 3 つのタイプがあります。 MySQL を最適化する場合、通常はデータベースを分析する必要があります。一般的な分析方法には、スロー クエリ ログ、EXPLAIN 分析クエリ、プロファイリング分析、および show コマンド クエリ システム ステータスとシステム変数などがあります。パフォーマンスのボトルネックを特定して分析することによってのみ、データベース システムのパフォーマンスをより適切に最適化できます。 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。 以下もご興味があるかもしれません:
|
>>: Linux でサーバーに接続するための SSH と Xshell の設定に関するチュートリアル (画像付き)
初めて書きます。自己紹介させてください...みなさんこんにちは。私はジャスミンです。なぜジャスミンと...
ソースコードを通じて Linux に最新の安定バージョンの MySQL をインストールします: my...
効果を直接確認するために、リロード、左を閉じる、右を閉じる、その他の機能を閉じるなどの右クリック メ...
概要プロトタイプ パターンは、プロトタイプ インスタンスによって作成されるオブジェクトの型を指し、こ...
鏡とは何ですか?イメージは、複数のイメージ レイヤー (UnionFS および AUFS ファイル ...
1. はじめに最近、 Webpackの原理を勉強しています。これまでは Webpack の設定方法し...
<TR> タグの属性は、次の表に示すように、テーブル内の各行のプロパティを設定するために...
カスタムパラメータを渡すだけhtml <div id="アプリ"> ...
目次概要1. コンポジションAPI 1. ref と reactive の違いは何ですか? 2. 周...
Web ページには、非常に複雑な HTML 構造があります。CSS を使用して関連するスタイルを定義...
目次1. DATETIMEとTIMESTAMPの使用1. 類似点2. 相違点3. 選択2. varc...
序文vsftp は使いやすく安全な FTP サーバー ソフトウェアです。システムユーザーまたは仮想ユ...
目次1. はじめに2. RC および RR 分離レベル2.1. RRトランザクション分離レベルでのク...
この記事で説明する等高レイアウトでは、純粋な CSS を使用して、要素の高さを手動で設定することなく...
目次私たちが毎日実行している Linux システムとは何でしょうか? LinuxカーネルとGNUシス...