TDSQL-C for MySQLとTencent Cloud MySQLのパフォーマンステスト比較を行う方法
TDSQL-C for MySQLとTencent Cloud MySQLの性能比較を行う前に、以下の注意事項をご確認ください。比較的正確で合理的な性能比較結果を得られるように。
TDSQL-C for MySQLとTencent Cloud MySQLを同じ仕様構成で性能比較を行います。
同一バージョンのTDSQL-C for MySQLとTencent Cloud MySQLを使用して性能比較を実施します。
バージョンが異なると実装メカニズムが異なるためです。例えばMySQL 8.0はマルチコアCPU向けに最適化され、Log_writer、log_flusher、log_checkpoint、log_write_notifierなどのスレッドを個別に抽象化していますが、CPUコア数が少ない場合、MySQL 5.6や5.7よりも性能が劣ります。
オンライン負荷をシミュレートするシナリオで実際の性能比較を行うか、sysbenchを使用して比較することを推奨します。こうすることで得られるデータは実際のオンラインシナリオにより近くなります。
TDSQL-C for MySQLとTencent Cloud MySQLの読み取り性能を比較する際、シングルSQLでの比較はお勧めしません。
TDSQL-C for MySQLはコンピュートとストレージの分離型アーキテクチャであるため、単一クエリにはネットワーク遅延の影響があり、読み取り性能がTencent Cloud MySQLに劣ります。オンラインデータベースのキャッシュヒット率は基本的に99%以上であり、初回読み取り時のみI/Oが発生するため読み取り性能が低下します。それ以降のデータはバッファプールに存在するためI/O呼び出しが不要となり、同等の性能を発揮します。
書き込み性能を比較する際も、シングルSQLでの比較はお勧めしません。オンライン環境をシミュレートしたストレステストを行うことを推奨します。
TDSQL-C for MySQLとTencent Cloud MySQLの性能比較結果については、テスト結果をご参照ください。 個別の実行効率が低いSQLがデータベース全体のパフォーマンス低下を引き起こすのを防ぐ方法についてご紹介します。
お客様のTDSQL-C for MySQLクラスタがバージョン8.0の場合、Statement Concurrency Control機能を使用して特定のステートメントに対するスロットリングを実現できます。
TDSQL-C for MySQLはアイドルセッションのタイムアウトをサポートしていますか。
サポートされています。wait_timeoutパラメータを変更することにより、アイドルセッションのタイムアウト時間をカスタマイズ可能です。
スローSQLを発見し最適化する方法。
以下の2つの方法でスローSQLを検出および最適化できます:
インスタンス監視ページでスローSQL数の指標にアラームポリシーを設定することでスローSQLの状況を監視できます。その後、コンソール上でDBbrainのスローSQL分析機能を使用してスローSQLの性能を分析し、最適化提案を提供します。提供された提案に基づいて最適化を実施してください。詳細はスローSQL分析をご参照ください。 データベースクラスタに接続後、show processlist;を実行し、実行時間が過剰に長いSQLを特定します。explainで実行計画を分析して原因を究明し、適切な最適化を実施してください。データベースクラスタへの接続方法については、クラスタ接続をご参照ください。 テーブルパーティショニングはTDSQL-C for MySQLのクエリ性能を向上させることができます。
通常、クエリSQLが特定のパーティション内に収まる場合、性能が向上します。
インスタンス仕様のサイズと最大IOPSには関連性があります。コンピューティングインスタンス仕様を調整することで、最大IOPSを増加させることが可能です。
最大IOPSは関連しており、コンピューティングインスタンス仕様を調整することで最大IOPSを増加できます。具体的なコンピューティングインスタンス仕様と対応する最大IOPSについては、製品仕様をご参照ください。 IOPSの制限と分離方法について説明します。複数のTDSQL-C for MySQLクラスタノード間でI/O競合が発生する可能性はありますか。
TDSQL-C for MySQLクラスタの各ノードは仕様サイズに基づいてIOPSが設定され、ノード間のIOPSは独立して隔離されており、相互に影響しません。
Binlogを有効にした場合のパフォーマンスへの影響について説明します。
Binlogの有効化はクエリ(SELECT)性能に影響せず、書き込み更新(INSERT、UPDATE、DELETE)性能のみに影響します。一般的に、読み書きが均衡しているデータベースでは、Binlog有効化後の性能影響は10%~20%の範囲です。
データベース監査を有効化すると、パフォーマンスにどのような影響がありますか。
データベース監査を有効化すると、パフォーマンスに最大で3%~5%の影響が生じます。
TDSQL-C for MySQLでは、どのような高速ネットワークプロトコルを採用していますか。
TDSQL-C for MySQLのデータベースコンピューティングノードとストレージノード間、およびストレージデータのマルチレプリカ間では、デュアル25Gbps RDMA技術を採用し、低遅延かつ高スループットの強力なI/O性能を提供します。