tencent cloud

TDSQL-C for MySQL

動向とお知らせ
製品アップデート
製品お知らせ
初心者ガイド
製品概要
プロダクト概要
製品の強み
適用シーン
製品アーキテクチャ
製品仕様
インスタンスタイプ
製品機能一覧
データベースのバージョン
リージョンとアベイラビリティゾーン
基本概念
利用制限
利用ガイドの推奨事項
自社開発カーネル
カーネル概要
カーネルバージョンのアップデート情報
カーネル最適化バージョン
機能特性
パフォーマンス関連機能
セキュリティカテゴリの機能
安定性機能
分析エンジン特性
カーネル問題のチェックと修復
購入ガイド
課金概要
製品価格
クラスタを作成する
構成変更説明
未払いについての説明
継続支払いの説明
返金ポリシー
従量課金から年/月単位サブスクリプションへの変換
従量課金からServerlessへの変換
付加価値サービスの課金説明
料金請求書の確認
クイックスタート
データベース監査
概要
監査インスタンス一覧
監査サービスを有効化する
監査ログの確認
ログ配信
事後アラーム設定
監査ルールの変更
監査サービスを変更する
監査サービスを停止する
監査ルールテンプレート
監査タスクの照会
サブユーザーへのデータベース監査利用権限付与
Serverlessサービス
Serverless入門
サーバーレス版クラスタの作成と管理
伸縮性スケーリング管理ツール
Serverlessリソースパック
マルチAZデプロイ
設定を変更する
よくあるご質問
Serverlessコスト見積ツール
操作ガイド
操作概要
コンソールでのクラスタページビューの切り替え
データベース接続
インスタンス管理
設定を変更する
インスタンス形態管理
クラスタ管理
読み取り専用インスタンス管理 
データベースプロキシ
アカウント管理
DMC
DMC(データベース管理ツール)
パラメータ設定
マルチAZデプロイ
グローバルデータベース
バックアップとリストア
操作ログ
データマイグレーション
パラレルクエリ
列ストレージインデックス CSI
分析エンジン
データベースセキュリティと暗号化
モニタリングとアラーム
SQLの基本操作
以下のコマンドを実行して、TDSQL-C for MySQLに接続してログインします
Tag
実践チュートリアル
TDSQL-C for MySQL データベース監査の等級保護実践
非InnoDBテーブル問題のワンクリック移行検出処理方法
DTSによるデータベースバージョンのアップグレード MySQL 5.7から8.0へ
TDSQL-C for MySQL 使用規範
新版コンソール
データベースプロキシの複数接続アドレスによる複数ROグループの実現
データベースプロキシのメリット
ストレージの課金モードの選び方
DTSによるリモートディザスタリカバリの構築
クラスタ用VPCの作成
データ復旧の方法
CPU使用率の高騰問題の解決方法
サブユーザーへの監視データ閲覧権限付与方法
ホワイトペーパー
セキュリティホワイトペーパー
性能ホワイトペーパー
トラブルシューティング
接続関連
性能関連
よくあるご質問
基本概念
購入と課金
サポートされるフォーマット
接続とネットワーク
機能特性
コンソールの操作
データベーステーブル
パフォーマンスとログ
データベース監査
TDSQL-C for MySQLとTencentDB for MySQLの違い
関連契約
SLA
利用規約
TDSQL-C ポリシー
プライバシーポリシー
データ処理と安全プロトコル
汎用参考
標準と認証
用語一覧
お問い合わせ

高性能バージョンのコンパイル最適化

PDF
フォーカスモード
フォントサイズ
最終更新日: 2025-12-30 16:02:26
TDSQL-C for MySQLのTXLカーネルは、コンパイル最適化による高性能バージョンをサポートしています。既存の互換性を維持し、カーネル内部の実装ロジックを変更することなく、動的コンパイラ最適化手法によってユーザーの入力パターンを考慮することで、汎用業務シナリオにおいてデータベースカーネルがより優れたパフォーマンスを発揮し、同時に消費電力の削減を実現します。このドキュメントではTDSQL-C for MySQLのコンパイル最適化高性能バージョンについて紹介します。

サポートバージョン

カーネルバージョン TDSQL-C for MySQL 5.7 2.1.11 以上。
カーネルバージョン TDSQL-C for MySQL 8.0 3.1.12 以上。
説明:
コンパイル最適化高性能バージョンは現在段階的リリース中です。早期体験を希望する場合は、上記のデータベースカーネルバージョンを満たした上で、チケットを提出して、利用申請を行ってください。

背景

現代のCPU内部実装がますます複雑化するにつれ、クラウドデータベースのデフォルトのコンパイル・設定・実行方法ではCPUの性能ポテンシャルを十分に発揮することが困難であり、大量のCPUサイクルがアイドル状態になっています。この現象はスケール効果の重なりにより、ハードウェアリソースの浪費を引き起こすだけでなく、膨大な電力消費の無駄も生じさせます。したがって、クラウドデータベースを最適化し、CPUの性能ポテンシャルを最大限に引き出し、CPUサイクルのアイドル状態を削減、ハードウェアリソースの利用率を向上させるとともに、電力消費の無駄を削減する必要があります。
TDSQL-C for MySQLは、データベースカーネルの業務ロジックコードを変更することなく、動的コンパイラ最適化手法を活用し、最小限のコストでカーネル性能の向上と消費電力の削減を完了しました。クラウドデータベースの典型的な/実際の業務シナリオにおける動作と性能消費データを収集することで、デフォルトのコンパイル方式が業務動作を認識しない問題を解決します。データベースの実行時動作特性を分析し、CPUマイクロアーキテクチャの特徴と組み合わせ、コンパイル最適化技術を利用して最適化後のバージョンがCPUマイクロアーキテクチャにより親和性を持ち、CPUの性能ポテンシャルを十分に発揮できるようにします。大量のシナリオテストを通じて、様々な条件下で最適化効果が劣化しないことを保証します。
以上の技術手段を通じて、このバージョンでは以下の最適化を実現しました:
1. データベースの実行行動データに基づくフィードバック最適化を実現し、関数インライン化/関数再配置/基本ライブラリ再配置の最適化能力を向上させることで、データベースのCPU ICache/ITLBミス率を大幅に低減し、性能を向上させます。
2. 「リンク時最適化技術」を通じてコンパイル最適化の視野を拡大し、単一ファイル・単一関数から複数ファイル/全バイナリファイル範囲に拡張することで、インライン最適化の余地を大幅に向上させ、命令数を削減できます。
3. 実践の中で効率的な検証と分析の方法を模索し、効果が理論限界に近づき、様々なシナリオで劣化しないことを保証します。


コンパイル最適化とは何ですか?

コンパイル最適化とは、コードのコンパイル時に、コードの最適化やコンパイルパラメータの調整を通じて、プログラムの実行効率と性能を向上させるプロセスです。

最適化原理

TDSQL-C for MySQLのコンパイル最適化高性能バージョンは、PGO(profile guided optimization)技術を活用して最適化を行います。PGO技術は、従来のコンパイラが最適化実行時に静的なコード情報のみに基づき、ユーザーの入力パターンを考慮しないためにコードを効果的に最適化できないという問題が解決できます。
PGO技術は主に以下の3つの段階に分けられます:
1. instrument:instrument段階では、まずアプリケーションに対して一度コンパイルします。このコンパイル時に、コンパイラはコードに命令を挿入し、次の段階でデータを収集できるようにします。これらの命令は3種類に分かれ、それぞれ、各関数が実行された回数、各分岐が実行された回数(例えば、if-elseシナリオ)、特定の変数の値(主にswitch-caseシナリオ用)を計測するために用いられます。
2. train:train段階では、ユーザーは最も一般的な入力を使用して、前段階でコンパイルして生成されたアプリケーションを実行する必要があります。前段階ですでにデータ収集の準備ができているため、train段階を経た後、そのアプリケーションの最も一般的な使用シナリオに対応するデータが収集されます。
3. optimization:optimization段階では、コンパイラは前段階で収集されたデータを活用して、アプリケーションを再コンパイルします。前段階のデータはユーザー入力の最も一般的なユーザーシナリオに基づいているため、最終的に最適化された結果はそのシナリオにおいてより良い最適化効果を発揮します。
以上の3つの段階の最適化を通じて、TDSQL-C for MySQLのコンパイル最適化高性能バージョンはユーザーのニーズにより適応し、アプリケーションのパフォーマンスと効率を向上させることができます。

性能テスト

コンパイル最適化高性能バージョンの性能テストデータについては、以下のドキュメントを参照してください。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック