TDSQL-C for MySQLはトラフィック再生機能を提供します。本番データベースの実際のSQLトラフィックを「録画」し、ターゲットデータベース上で「再生」することで、変更後のデータベースの安定性と性能を正確に検証し、データベース移行とバージョンアップグレードの検証コストとビジネスリスクの低減に役立ちます。本記事では、トラフィック再生機能についてご紹介します。
初心者向けチュートリアル入り口
トラフィック再生機能ページの右上にある「初心者向けチュートリアル」セクションで、この機能の使用手順ガイドを確認できます。これにより、この機能を素早く使い始めることができます。チュートリアルを非表示をクリックすると、初心者向けチュートリアルセクションを非表示にできます。初心者向けチュートリアルをクリックすると、初心者向けチュートリアルセクションを表示できます。
機能の適用シナリオ
データベース移行またはバージョンアップグレードのシナリオでは、トラフィック再生機能を使用して、本番データベースで実行された実際のSQLデータをターゲットインスタンス上で「再生」し、どのステートメントが実行できないか、または遅いかを確認できます。この機能を使用することは、テストケースを作成するよりも手間がかからず、かつカバーするSQLは実際の業務で実行されたものであるため、そのテスト結果はより信頼性が高いです。
適用シーン
|
データベースの移行(自社構築 / 他クラウドから TDSQL-C for MySQL へ) | 互換性と性能の事前検証を行い、正式な移行前にシミュレーションを実施して潜在的な問題を特定します。 |
データベースバージョンのアップグレード | 新バージョンに動作変更がないか、性能が劣化していないかなどをテストします。 |
障害の再現 | テスト環境で本番の障害を「リプレイ」し、根本原因を特定するのに役立ちます。 |
性能負荷テスト | 実際の本番トラフィックを用いてベンチマークテストを行い、インスタンスの負荷能力を評価します。 |
機能特性
マルチソーストラフィック取得:複数のソースから実際のビジネスSQLトラフィックを取得することをサポートし、後続のトラフィック再生のためのデータ基盤を提供します。以下の2種類を含みます。
TDSQL-C for MySQLインスタンス再生:TDSQL-C for MySQLインスタンスと再生時間枠を直接選択することをサポートし、システムが監査ログから自動的にトラフィックを抽出するため、手動でファイルをエクスポートする必要はありません。
他クラウドログ再生:Tencent Cloud以外の他クラウド(具体的にはコンソールのトラフィック再生機能設定ページを参照)から監査ログをエクスポートした後のアップロードをサポートし、CSV、JSON、圧縮ファイル(tgz)形式を対応しています。
再生設定の詳細管理:再生設定の時間粒度は秒単位まで正確に設定できます。タスクを即時実行するか、または特定の時間を設定してタイマーでトリガーすることをサポートし、オフピーク時間帯での実行を容易にします。ソースインスタンスがTDSQL-C for MySQLの場合、ソースインスタンスのスローSQL閾値を自動的に取得できます。
インテリジェント事前チェック:再生前に、ファイル事前チェックや環境事前チェックなどの分項チェックを自動的に実行することをサポートし、環境などの問題を事前に発見できます。
分析レポートの生成:再生完了後、レポート概要、性能トレンド比較、異常レポートの3種類のレポートを生成できます。
タスクの全ライフサイクル管理:複数のタスクステータスで、完全な実行サイクルをカバーできます。タスクリストはステータスやソースタイプによるフィルタリングをサポートします。稼働中のタスクはいつでも手動で終了させ、一部のレポートを保持できます。これにより、タスク実行の全ライフサイクル管理を実現します。
他のクラウド監査ログ再生のフィールド説明
必須フィールド:timestamp、nsTime、thread_id、execTime、errCode、dbName、sql。
オプションフィールド:checkRows、affectRows、sentRows、lockWaitTime、cpuTime、ioWaitTime、trxLivingTime、sqlType。
機能サポートバージョン
TDSQL-C for MySQL 5.7および8.0の、インスタンス形態がプロビジョニング済みリソースまたはServerlessのクラスタはすべてサポートされています。ただし、自動一時停止が有効になっているServerlessインスタンスは、ターゲットインスタンスとしての再生にはサポートされていません。また、Serverlessソースインスタンスは、稼働中(一時停止していない)のインスタンスを選択することもサポートされています。
注意事項
他クラウドの監査ログをアップロードする前に、必須フィールドがすべて揃っていることを確認してください。そうしないと、事前チェックが失敗します。
再生中はターゲットインスタンスで操作を実行しないでください。そうしないと、データに干渉する可能性があります。
ターゲットインスタンスのデータは、トラフィックが発生した時点の状態にロールバックする必要があります。データが不一致の場合、結果に誤差が生じる可能性があります。
NOW()、CURRENT_TIMESTAMPなどの時間関数の再生結果が元のものと異なることは、正常な現象です。
Tencent Cloudインスタンスをソースインスタンスとして再生を行う場合、ソースインスタンスで全監査/ルール監査が有効になっていることを確認する必要があります。
関連ドキュメントガイド
|
トラフィック再生の概要 | トラフィック再生機能の概要、適用シナリオなどを紹介します。詳細は、本文の説明を参照してください。 |
トラフィック再生タスクの実行 | 1回の完全なトラフィック再生タスクを実行するために必要な事前準備作業と詳細な操作手順を紹介します。詳細は、トラフィック再生タスクの実行を参照してください。 |
よくあるご質問 | トラフィック再生機能におけるよくある問題を紹介します。詳細は、よくある質問を参照してください。 |