TDSQL データベースのパフォーマンス チューニングについての話

TDSQL の概要

TDSQL は Tencent が開発した MySQL プロトコルと互換性のある国産分散データベースで、同時実行数が多く、パフォーマンスが高く、大容量の OLTP シナリオに適しています。TDSQL は集中バージョンと分散バージョンに分かれており、分散バージョンは分散トランザクションをサポートできますが、パフォーマンスはスタンドアロン トランザクションほど良くなく、パフォーマンスは一定の損失を受けます。実際のテスト結果に基づいて、それを使用するかどうかを決定します。

TDSQL パフォーマンス監視および分析ツール

1 チトゥプラットフォーム

Chitu プラットフォームでは、DB 監視、インスタンス監視、SQL エンジン監視を通じてデータベースとゲートウェイの監視指標を表示し、ログ管理を通じてスロークエリと SQL エンジンのログを表示できます。ID 入力」-「パフォーマンス分析」システムの表示ステータス、テーブルスペースの分散、インデックスの冗長化、デッドロック診断、ロック待ち診断、スロークエリ分析、DBステータスチェックなどの情報を提供します。

1. クエリが遅い

スロークエリ診断では、セット内のアクティブスロークエリとスタンバイスロークエリの分析結果をTDSQL監視ライブラリを通じて集計し、それぞれの集計に対応するサンプルSQLに対して生成したインデックスを、この種のSQLの候補として推奨します。[インスタンス管理] - [インスタンス ID] - [ログ クエリ] - [スロー クエリ] をクリックして、DB にスロー クエリ SQL があるかどうかを確認します。

クエリが遅い場合は、[SQL 分析] をクリックして、変更の提案と SQL クエリ プランを表示できます。

2. SQL エンジンのクエリが遅い

SQL エンジンの低速クエリは、低速クエリと比較して、SQL エンジンでの SQL の実行時間が長くなります。遅いクエリがない場合は、SQL エンジンに遅いクエリがあるかどうかを確認できます。遅いクエリがなく、porxy の遅いクエリだけがある場合は、porxy サーバーの拡張を検討できます。

3. デッドロックまたはロック待ち

「インスタンス管理」→「インスタンスID」→「性能分析」→「リアルタイム診断」により、データベースにデッドロックが発生していないか確認できます。「インスタンス管理」→「インスタンスID」→「性能分析」→「リアルタイム診断」により、データベースにロック待ちが存在するかどうかを確認できます。

4. 冗長インデックス

インデックスが冗長であると、更新/挿入/削除で不要なインデックスを更新する必要があり、パフォーマンスに影響を与える可能性があります。インスタンス管理 - インスタンスID - 性能分析 - リアルタイム診断により、データに重複したインデックスが存在するかどうかを確認できます。

5.セッションチェック

パフォーマンス分析 - セッション チェックを通じて、データベースのすべてのセッションを表示できます。例外セッション メニューからリアルタイム セッションと例外セッションを表示することもできます。

2 APM監視ツール

APM ツールとフルリンク監視ツールのトランザクション スタック情報を通じて、SQL ステートメントの実行時間を確認し、実行が遅い SQL ステートメントを見つけることができます。

3 DBブレイン

DBbrainは、Tencentが新たに開発したTDSQLパフォーマンス分析ツールで、ビジネスSQLからDB SQLへの双方向トラッキングを実現し、デッドロックや行ロック待ちなどの複数のロック競合シナリオの異常診断や、スロー分析も可能です。クエリを実行し、最適化の提案を行います。

パフォーマンスの問題に対するトラブルシューティングのアイデア

1 動作状況を確認する

Chituにログインすると、DB監視やSET管理によりTDSQLの各ノードの稼働状況を確認できます。さらに、TDSQL サーバーにログインし、PS -ef|grep tdsql_run を使用して、TDSQL プロセスが存在するかどうかを確認することもできます。

2 設定パラメータを確認する

1. データベースパラメータを確認します。

Chitu にログインし、インスタンス管理 - データベース管理 - データベース パラメーターを介して、最大接続数の設定を中心としたデータベース構成パラメーターを参照できます。

2. データベース接続文字列パラメータを表示します。

POD コンソールにログインし、/soft/tomcat/conf ディレクトリにある context.xml ファイルを表示すると、データベース接続文字列に設定されたパラメータを確認できます。接続文字列パラメーターは、serverTimezone、rewriteBatchedStatements、netTimeoutForStreamingResults、allowMultiQueries およびその他のパラメーターに焦点を当てることができます。

3 監視ツールを使用して例外を表示する

Chitu と DBbrain を通じて、遅いクエリ、SQL エンジンの遅いクエリ、デッドロックなどの監視項目を表示し、SQL 最適化の提案を表示することができます。また、APM やフルリンク監視ツールを通じて応答時間の遅い SQL ステートメントを表示することもできます。 。

4 エンジンのログをチェックする

TDSQL SQL エンジンのログ ファイルは、インターフェイス ログ ファイル (interf_instance_xxx)、SQL ログ ファイル (SQL_instance_xxxx)、およびスロー クエリ ログ ファイル (slow_SQL_instance_xxxx) に分かれています。

インターフェイス ログ ファイル インターフェイス ログには、主に、クライアント、バックエンド サーバー、新しい接続の数、新しい接続に費やされた時間、クエリ結果セットの合計量、およびクエリ結果セットの総量など、クライアントからサーバーに送信された元の SQL 情報が保存されます。操作の影響行数など、SQL ログ ファイルにはセット内で具体的に実行された SQL 情報が記録され、スロー クエリ ログには主に応答時間が 1 秒を超える ddl ステートメントと dml ステートメントが格納されます。

5 データの配布に注意する

バッチ プログラムの場合、各ノードで処理されるデータ量の違いに注意し、各ノードのデータ量をできるだけ均一に保ち、その違いによってバッチ プログラムの実行時間に影響が及ばないようにする必要があります。各ノードのデータ量。さらに、パフォーマンス テストでバッチ送信のサイズを調整し、最も効率的にバッチを実行できるサイズ設定値を見つけることができます。

最後に:以下の完全なソフトウェア テスト ビデオ チュートリアルが整理されてアップロードされており、必要な友人は自分で入手できます[100% 無料保証]

完全な情報の取得

おすすめ

転載: blog.csdn.net/wx17343624830/article/details/131252771