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 の設定に関するチュートリアル (画像付き)
目次序文Dockerfile の紹介Dockerfileはイメージプロセスを構築するDockerfi...
色はウェブサイト訪問者に影響を与えますか?数年前までは、ウェブサイトはまだ贅沢品でしたが、今ではほと...
最近、小さなプログラムを開発しているときに、次の設計図のような円形のパーセンテージ進捗状況バーを実装...
目次序文1. ファントムリーディングとは何ですか? 2. ファントムリーディングの問題点は何ですか?...
ギリシャ文字は、特に数学や物理学などの科学技術分野で非常によく使用される記号列であり、特定の意味を持...
目次序文APPメソッドにジャンプURLスキームメタタグユニバーサルリンクさまざまな使い方URLスキー...
目次ポート関連の概念:ポートとサービスの関係1: nmapツールが開いているポートを検出する2: n...
オーディオおよびビデオ ファイルを保存するためのディスク寿命を延ばすには、ディスクをフォーマットする...
いくつかの簡単な Linux コマンドを使用すると、ストレージまたは電子メールの添付ファイルのサイズ...
私の友人の多くは、127.0.0.1 と localhost の違いがわからず、問題に遭遇するかもし...
次に、Centos7 に Java+Tomcat をインストールします。インターネット上には多くの記...
1. 背景最近、独立した開発者がUIデザインを行うのを支援するために、uideaというWebサイト...
最近、Apple.com/Ebay.com/Amazon.com/shopping.yahoo.co...
目次挿入バッファとは何ですか?挿入バッファのトリガー条件は何ですか?なぜ一意のインデックスにできない...
目次グローバル変数として可変ホイスト一時的なデッドゾーンブロックスコープ重複したステートメント宣言さ...