tencent cloud

フィードバック

スマートパラメータチューニング

最終更新日:2022-07-21 15:41:07

    ここでは、MySQLコンソール上でスマートパラメータチューニングを実現する方法についてご説明します。

    背景

    「ディープラーニング」という言葉は一般の人々にも知られるようになってきました。現在では関連技術も比較的成熟し、Tencent Cloudデータベースチームも、ディープラーニング方式を利用してデータベースの運用効率を向上させたいと考えています。まず考えたのはデータベースのパラメータチューニングです。業務システムは千差万別であり、SQLの最適化のように細粒度で指向性の高いチューニングを行うことができません。これはデータベース管理者にとって頭の痛い問題であり、多くの場合は経験によって相対的に優秀なパラメータテンプレートを構築しなければなりません。データベースのパラメータチューニング能力は、プロフェッショナルなデータベース管理者だけが持つスキルでもあります。

    2019~2021年にかけて、Tencent Cloudデータベースチームは《Automatic Database Tuning using Deep Reinforcement Learning》、《An Oline Cloud Database Hybrid Tuning System for Personalized Requirements》という2編の論文を相次いで発表し、国際特許を申請しました。現在は論文をベースにして、理論を基に利用可能なシステムを開発し、実際のシーンの中でデータベースパラメータを調整することでデータベースのパフォーマンスを向上させています。

    データベースパラメータチューニングサービスが必要な理由:

    • パラメータが非常に多い:例えばMySQLの場合、数百もの設定項目があり、チューニングの難易度が高いです。
    • 人的コストが高い:専任のDBAを必要とし、プロの経験に頼らざるを得ないため、マンアワーコストが高くなります。
    • ツールの汎用性:既存のツールは機能が限定され、時間がかかる割に目立った効果がありません。
    • クラウドでの新ニーズ:一部のユーザーは専任の運用保守チームを持っておらず、パラメータチューニングを行うことが困難です。

    前提条件

    ステータスが実行中であるMySQLインスタンスがあること。

    使用制限

    • ユースケースに応じたスマートチューニングには1か月あたりの回数制限があり、各インスタンスにつき毎月3回チューニングを行うことができます。チューニング回数は毎月1日にリセットされます。
    • AIインテリジェント分析には1か月あたりの回数制限があり、各インスタンスにつき毎月1回チューニングを行うことができます。チューニング回数は毎月1日にリセットされます(AIインテリジェント分析は未公開です。どうぞご期待ください)。
    • スマートパラメータチューニング機能を使用するには、インスタンスのCPUが4コア以上である必要があります。
    • スマートパラメータチューニングのタスクリストには直近15回分のパラメータチューニング結果のみ保存されます。
    • インスタンスの削除/返却またはインスタンスが期限切れとなった時点で、スマートパラメータチューニングのタスクが実行中だった場合、そのタスクは自動的に中止され、削除されます。
    • 1つのインスタンスにつき、同時実行できるチューニングタスクは1つのみであり、複数のチューニングタスクを開始することはできません。
    • スマートパラメータチューニング機能は現時点では北京、上海、広州リージョンのみサポートしています。今後は順次拡大する予定です。

    操作手順

    MySQLインスタンスを購入済みの場合

    1. MySQLコンソールにログインし、上方でリージョンを選択し、インスタンスリストでインスタンスIDまたは操作列の管理をクリックして、インスタンス管理ページに進みます。
    2. インスタンス管理ページでデータベース管理 >パラメータ設定 > スマートパラメータチューニングを選択します。
    3. スマートパラメータチューニングのポップアップウィンドウで、ユースケースに応じたスマートチューニングまたはAIインテリジェント分析のどちらかのパラメータチューニング方式を選択し、設定した後、分析開始をクリックします。
    • ユースケースに応じたスマートチューニング方式を選択した場合、その後の手順は次のようになります。

    ユースケースに応じたスマートチューニング:選択したユースケースに基づいてインテリジェント分析を行うことで、効率と指向性が向上します。
    ユースケース選択のプルダウンキーをクリックして業務ユースケースを選択します。3種類のユースケース(取引系ユースケース、OLTPパフォーマンステスト、ストレステスト)から選択できます。
    対応するユースケースを選択した後、システムがより正確な分析を行えるよう、そのユースケースにおける業務割合をカスタマイズすることができます。設定完了後に分析開始をクリックします。
    - 取引系ユースケース(TPCC)
    - カスタマイズ内容:注文業務(高)、支払業務(高)、注文照会(低)、物流業務(低)、倉庫保管業務(低)
    - データ読み取り方式:全キャッシュ(デフォルト)、ディスク読み取り/書き込み
    - 同時実行性:低、中、高(デフォルト)
    - OLTPパフォーマンステスト(Sysbench)
    - カスタマイズ内容:読み取り業務の割合(高),書き込み業務の割合(デフォルトでは無し)
    - データ読み取り方式:全キャッシュ(デフォルト)、ディスク読み取り/書き込み
    - 同時実行性:低、中、高(デフォルト)
    - ストレステスト(myslap)
    - 同時実行性:低、中、高(デフォルト)

    • 選択したユースケースがAIインテリジェント分析方式の場合(この機能は未公開です。どうぞご期待ください)、その後の操作手順は次のようになります。

    AIインテリジェント分析:データベースの運用メトリクスに対し詳細な分析を行うことで、データベースの業務タイプを確定し、さらにディープラーニングアルゴリズムによって、確定したユースケースの下での各パラメータのパフォーマンス分析を行い、パラメータ設定の提案を行います。
    AIインテリジェント分析を選択し、分析開始をクリックします。

    注意:

    • AIインテリジェント分析機能は現在ブラッシュアップ中のため、未公開です。どうぞご期待ください。
    • AIインテリジェント分析はディープラーニングアルゴリズムおよびビッグデータ分析機能を使用するため、分析に時間がかかります。業務に余裕のある時間帯に行うことをお勧めします。
    1. 分析開始後、パラメータチューニングタスクは実行中となります。パラメータ設定ページでスマートパラメータチューニング > タスクの確認を選択し、タスクの詳細状況を把握することができます。
    2. パラメータチューニングタスクの終了後、スマートパラメータチューニング > タスクの確認で、操作列の結果の確認をクリックします。
    3. パラメータチューニングによる提案を確認した後、インスタンスに適用するをクリックします。
    4. ポップアップしたダイアログボックスでパラメータの変更を確認し、実行方式を選択し、再起動ルールを読んでチェックを入れ、OKをクリックします。
      実行方式:
    • 今すぐ実行:OKを押すと、すぐにインスタンスに適用されます。
    • メンテナンス時間内:メンテナンス時間内にこの変更をインスタンスに適用します。メンテナンス時間はインスタンス詳細ページで変更できます。

    MySQLインスタンスの新規購入の場合

    MySQLインスタンスの購入時に、パラメータテンプレートを選択後、パラメータ適応を有効にするかどうかを選択します。パラメータ適応を使用すると、システムはお客様がパラメータテンプレートを選択した後にさらに選択した業務ユースケースに基づいて二次調整を行います。業務ユースケースには、取引系ユースケース、OLTPパフォーマンステスト、ストレステストの3種類があります。
    対応する修正結果はパラメータ設定 > スマートパラメータチューニング > タスクの確認で確認できます。

    お問い合わせ

    カスタマーサービスをご提供できるため、ぜひお気軽にお問い合わせくださいませ。

    テクニカルサポート

    さらにサポートが必要な場合は、サポートチケットを送信して弊社サポートチームにお問い合わせください。24時間365日のサポートをご提供します。

    電話サポート(24 時間365日対応)