すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:インスタンスパラメータの調整

最終更新日:Jul 15, 2025

主要なパラメータの値が不適切だと、ApsaraDB RDS for MySQL インスタンスのパフォーマンスに影響を与えたり、アプリケーションでエラーが発生したりする可能性があります。このトピックでは、主要なパラメータの調整に関する推奨事項を提供します。

はじめに

ApsaraDB RDS for MySQL では、パラメータテンプレートを使用して、特定のシナリオのパラメータ値をプリセットできます。プリセットされたパラメータ値はデフォルトのパラメータ値です。実際のシナリオでは、ビジネス要件に基づいて、特に主要なパラメータを変更する必要があります。主要なパラメータの値が不適切だと、RDS インスタンスのパフォーマンスに影響を与えたり、アプリケーションでエラーが発生したりする可能性があります。

ApsaraDB RDS for MySQL は、パラメータ診断機能を提供します。この機能は、インスタンスの状態、パラメータテンプレート、追加パラメータの参照概念、数式、専門家の経験に基づいてパラメータ設定を分析し、パラメータ調整の推奨事項を提供します。このトピックで提供されているパラメータ診断機能と調整の推奨事項に基づいて、RDS インスタンスのパラメータを調整できます。

説明

ApsaraDB RDS コンソールでデフォルトのパラメータ値を表示できます。

注意事項

MySQL 8.0 および MySQL 5.7 でスコープが Global,Session であるパラメータなど、一部の動的パラメータの変更は、インスタンスに再接続または再起動した後にのみ有効になります。インスタンスを再起動すると、ビジネスは一時的にインスタンスから切断されます。オフピーク時にインスタンスを再起動することをお勧めします。

back_log

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、MySQL 5.6、および MySQL 5.5。

  • パラメータ変更後にインスタンスを再起動するかどうか: はい。変更を有効にするには、RDS インスタンスを再起動する必要があります。

  • 一時的な切断が発生するかどうか: はい。オフピーク時にパラメータを変更することをお勧めします。

  • 機能: このパラメータは、ApsaraDB RDS for MySQL が多数の短命接続を処理する際の接続キューの長さを管理します。キュー内の待機中の接続リクエストの数が back_log パラメータの値を超えると、ApsaraDB RDS for MySQL は新しい接続リクエストを拒否します。 ApsaraDB RDS for MySQL で多数の短命接続を処理する場合は、このパラメータの値を増やします。

  • 症状: このパラメータの値が小さい場合、アプリケーションで次のエラーが発生する可能性があります:

    SQLSTATE[HY000] [2002] 接続がタイムアウトしました。
  • 推奨事項: このパラメータを 3000 に設定します。

rpl_semi_sync_master_timeout

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: RDS インスタンスは半同期レプリケーションモードを使用します。プライマリ RDS インスタンスからトランザクションがコミットされる前に、セカンダリ RDS インスタンスがトランザクションのすべてのバイナリログを受信するまで待機する必要があります。待機時間がこのパラメータの値を超えると、タイムアウトエラーが報告され、RDS インスタンスのレプリケーションモードは非同期レプリケーションにダウングレードされます。この場合、セカンダリ RDS インスタンスがプライマリ RDS インスタンスのすべてのバイナリログを受信すると、RDS インスタンスのレプリケーションモードは自動的に半非同期レプリケーションに変更されます。

  • 推奨事項: このパラメータを 1000 に設定します。単位: ミリ秒。値 1000 は 1 秒に相当します。 RDS インスタンスで高いデータ信頼性が必要な場合は、このパラメータの値を増やして、半同期レプリケーションからのダウングレードを防ぐことができます。ただし、このパラメータを大きな値に設定すると、大きなトランザクションの実行中に RDS インスタンスが書き込みリクエストを長時間処理できない場合があります。その結果、システムの高可用性 (HA) コンポーネントがインスタンスの障害を検出し、インスタンスのスイッチオーバーがトリガーされます。

innodb_autoinc_lock_mode

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、MySQL 5.6、および MySQL 5.5。

  • パラメータ変更後にインスタンスを再起動するかどうか: はい。変更を有効にするには、RDS インスタンスを再起動する必要があります。

  • 一時的な切断が発生するかどうか: はい。オフピーク時にパラメータを変更することをお勧めします。

  • 機能: MySQL 5.1.22 以降では、innodb_autoinc_lock_mode パラメータは InnoDB で使用され、自動インクリメント主キーの自動インクリメントロックを管理します。有効な値:

    • 0: 従来のモード。このモードでは、SQL 文は自動インクリメント値が取得される前に自動インクリメントロックを保持し、SQL 文は文の実行の最後に自動インクリメントロックを解放します。このモードは、データ挿入の同時実行性に大きく影響します。

    • 1 (デフォルト値): 連続モード。このモードでは、SQL 文は自動インクリメント値が取得される前に自動インクリメントロックを保持します。固定数のデータ行を挿入するために SQL 文が実行されると、SQL 文は自動インクリメント値が取得された直後に自動インクリメントロックを解放します。不確定な数のデータ行を挿入するために SQL 文が実行されると、SQL 文は文の実行の最後に自動インクリメントロックを解放します。

    • 2: インターリーブモード。このモードでは、SQL 文は自動インクリメント値が取得される前に自動インクリメントロックを保持します。自動インクリメント値が取得されると、固定数のデータ行が挿入されるかどうかに関係なく、SQL 文はすぐに自動インクリメントロックを解放します。

  • 推奨事項: このパラメータの値を 2 に変更します。これにより、AUTO-INC デッドロックが防止され、INSERT … SELECT 文のパフォーマンスが向上します。

    説明

    パラメータを 2 に設定する場合は、バイナリログの形式を行に設定する必要があります。

query_cache_size

  • サポートされているバージョン: MySQL 5.7、MySQL 5.6、および MySQL 5.5。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、MySQL クエリのキャッシュのメモリ容量を管理します。クエリキャッシュを有効にすると、システムはキャッシュ内のクエリ結果をチェックします。クエリ結果がクエリキャッシュに存在する場合、システムは結果を直接返します。それ以外の場合、システムはクエリを実行して結果を取得します。 INSERT、UPDATE、DELETE などの書き込み操作、およびテーブルスキーマの変更により、クエリキャッシュが無効になり、RDS インスタンスへの負荷が増加します。 RDS インスタンスのデータが頻繁に更新されない場合、クエリキャッシュはクエリ効率を大幅に向上させることができます。ただし、RDS インスタンスが多数の書き込み操作を処理する場合、クエリキャッシュのロックメカニズムにより、ロックの競合が頻繁に発生する可能性があります。これにより、SELECT 文のクエリ効率が低下します。

  • 症状: 多数のデータベース接続が次の状態になっています: checking query cache for querywaiting for query cache lock、および storing result in query cache

  • 推奨事項: デフォルトでは、ApsaraDB RDS はクエリキャッシュを無効にします。クエリキャッシュを有効にして上記の症状が発生した場合は、クエリキャッシュを無効にします。

net_write_timeout

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、MySQL 5.6、および MySQL 5.5。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、ApsaraDB RDS がブロックをクライアントに送信する前に待機するタイムアウト期間を設定します。

  • 症状: パラメータ値が小さい場合、クライアントで次のエラーが発生する可能性があります:

    "サーバーから正常に受信された最後のパケットはミリ秒前でした" または "サーバーに正常に送信された最後のパケットはミリ秒前でした"
  • 推奨事項: このパラメータをデフォルト値である 60 秒に設定します。ネットワークが不安定な場合、またはクライアントが各ブロックを処理するのに長い時間がかかる場合は、インスタンスの切断を避けるために、このパラメータの値を増やすことをお勧めします。

tmp_table_size

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、MySQL 5.6、および MySQL 5.5。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、各スレッドに割り当てられる内部メモリ内一時テーブルの最大サイズを指定します。内部メモリ内一時テーブルの実際の最大サイズは、tmp_table_size または max_heap_table_size のいずれか小さい方の値で指定されます。メモリ内一時テーブルのサイズが最大サイズを超えると、ApsaraDB RDS for MySQL はテーブルをディスク上の MyISAM テーブル (MySQL 8.0 では InnoDB テーブル) に自動的に変換します。クエリ文を最適化する場合は、一時テーブルを使用しないでください。一時テーブルを使用する必要がある場合は、一時テーブルがメモリに格納されていることを確認してください。

  • 症状: GROUP BY 句または DISTINCT 句を含む複雑な SQL 文に一時テーブルを使用し、インデックス作成を使用して最適化できない場合、SQL 文の実行に時間がかかります。

  • 推奨事項: このパラメータのデフォルト値は 2097152 です。 SQL 文に多数の GROUP BY 句または DISTINCT 句が含まれており、RDS インスタンスに十分なメモリがある場合は、tmp_table_size パラメータと max_heap_table_size パラメータの値を増やしてクエリのパフォーマンスを向上させます。

loose_rds_max_tmp_disk_space

  • サポートされているバージョン: MySQL 5.6 および MySQL 5.5。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、RDS インスタンスの一時ファイルのサイズを管理します。

  • 症状: 一時ファイルのサイズが loose_rds_max_tmp_disk_space パラメータの値を超えると、アプリケーションで次のエラーが発生する可能性があります:

    テーブル '/home/mysql/dataxxx/tmp/#sql_2db3_1' いっぱいです
  • 推奨事項: 一時ファイルのサイズ増加の原因となっている SQL 文を最適化できるかどうかを確認します。インスタンスに十分なスペースがある場合は、このパラメータの値を増やして SQL 文の実行を確実に行ってください。

loose_tokudb_buffer_pool_ratio

  • サポートされている MySQL バージョン: 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: はい。変更を有効にするには、RDS インスタンスを再起動する必要があります。

  • 一時的な切断が発生するかどうか: はい。オフピーク時にパラメータを変更することをお勧めします。

  • 機能: このパラメータは、TokuDB テーブルで使用できるバッファメモリのサイズを指定します。たとえば、innodb_buffer_pool_size パラメータが 1000 MB に設定され、tokudb_buffer_pool_ratio パラメータが 50 (50% を示す) に設定されている場合、TokuDB テーブルで使用できるバッファメモリのサイズは 500 MB です。

  • 推奨事項: RDS インスタンスで TokuDB エンジンを使用している場合は、このパラメータの値を増やして TokuDB テーブルのアクセス パフォーマンスを向上させます。

loose_max_statement_time

  • サポートされている MySQL バージョン: 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、RDS インスタンスの最大クエリ時間を管理します。デフォルトでは、クエリ時間は制限されていません。このパラメータが構成されており、クエリ時間が指定された制限を超えると、クエリは失敗します。

  • 症状: クエリ時間がこのパラメータの値を超えると、次のエラーが発生します:

    エラー 3006 (HY000): クエリの実行が中断されました。max_statement_time を超えました
    説明

    パラメータが変更された後、変更は新しい接続に対してのみ有効になります。変更を有効にするには、既存の接続を再接続する必要があります。

  • 推奨事項: SQL 文の実行時間を管理する場合は、このパラメータの値を指定します。単位: ミリ秒。

loose_rds_threads_running_high_watermark

  • サポートされているバージョン: MySQL 5.6 および MySQL 5.5。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、同時クエリ数を管理します。たとえば、loose_rds_threads_running_high_watermark パラメータを 100 に設定すると、合計 100 個の MySQL クエリを同時に実行できます。追加のクエリは拒否されます。

  • 推奨事項: このパラメータを使用して、バースト リクエストとピーク時のリクエストを処理し、RDS インスタンスを保護できます。

innodb_buffer_pool_size

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか:

    • MySQL 8.0 および MySQL 5.7: いいえ。

    • MySQL 5.6: はい。変更を有効にするには、RDS インスタンスを再起動する必要があります。

  • 一時的な切断が発生するかどうか:

    • MySQL 8.0 および MySQL 5.7: いいえ。

    • MySQL 5.6: はい。オフピーク時にパラメータを変更することをお勧めします。

  • 機能: このパラメータは、InnoDB バッファプールのサイズを指定します。

  • 推奨事項: このパラメータを、{DBInstanceClassMemory × 3/4} 計算を使用して取得した値に設定します。

innodb_buffer_pool_instances

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: はい。変更を有効にするには、RDS インスタンスを再起動する必要があります。

  • 一時的な切断が発生するかどうか: はい。オフピーク時にパラメータを変更することをお勧めします。

  • 機能: このパラメータは、innodb_buffer_pool_size パラメータで指定された InnoDB バッファプールのサイズが 1 GB より大きい場合、InnoDB バッファプールを特定の数のインスタンスに分割します。分割されたインスタンスは個別に管理され、同時読み取りと書き込みをサポートします。

  • 推奨事項: このパラメータを、{LEAST(DBInstanceClassMemory/1073741824, 8)} 計算を使用して取得した値に設定します。

table_open_cache_instances

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: はい。変更を有効にするには、RDS インスタンスを再起動する必要があります。

  • 一時的な切断が発生するかどうか: はい。オフピーク時にパラメータを変更することをお勧めします。

  • 機能: このパラメータは、開いているテーブルキャッシュを特定のサイズの複数のキャッシュインスタンスにパーティション分割して、セッション間のテーブルキャッシュの競合を軽減します。サイズは次の式を使用して計算されます: table_open_cache/table_open_cache_instances

  • 推奨事項: このパラメータを 16 に設定します。

table_open_cache

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、サーバーがテーブルキャッシュインスタンスで開いたままにできるテーブルの最大数を指定します。このパラメータの値が小さすぎると、高同時実行シナリオで SQL クエリのパフォーマンスに影響を与える可能性があります。値が大きいと、メモリ消費量が多くなる可能性があります。このパラメータの値を増やす場合は、RDS インスタンスのメモリ使用量に注意する必要があります。

  • 推奨事項: このパラメータを、{LEAST(DBInstanceClassMemory/1073741824 × 1024, 16384)} 計算を使用して取得した値に設定します。

innodb_adaptive_hash_index

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、アダプティブハッシュインデックス機能を無効にするか有効にするかを決定します。アダプティブハッシュインデックスは、クエリ条件に基づいてデータベース内のリーフノードをすばやく特定し、I/O 操作の数を減らすのに役立ちます。

  • 症状: このパラメータが ON に設定されている場合、クエリ パフォーマンスへの影響は、実行する SQL 文によって異なります。一部の文 (DDL 文など) により、アダプティブハッシュインデックスのメンテナンスが発生する場合があります。その結果、SQL 文の実行がブロックされたり、クエリのパフォーマンスが低下したりします。

  • 推奨事項: このパラメータを OFF に設定します。このパラメータの変更方法の詳細については、「ApsaraDB RDS for MySQL のアダプティブハッシュインデックスのベストプラクティス」をご参照ください。

open_files_limit

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: はい。変更を有効にするには、RDS インスタンスを再起動する必要があります。

  • 一時的な切断が発生するかどうか: はい。オフピーク時にパラメータを変更することをお勧めします。

  • 機能: このパラメータは、RDS インスタンスによって同時に開くことができるファイルハンドルの数を指定します。また、innodb_open_files パラメータの構成にも影響します。

  • 推奨事項: RDS インスタンスで MySQL 5.6 を実行している場合は、このパラメータを 65535 に設定します。 RDS インスタンスで MySQL 5.7 または MySQL 8.0 を実行している場合は、このパラメータを 655350 に設定します。 RDS インスタンスの仕様が 32 CPU コア以上で、アクティブなセッションまたはテーブルの数が多い場合は、open_files_limit パラメータをインスタンスファイルの実際の数よりわずかに大きい値に設定できます。

loose_innodb_rds_faster_ddl

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。サポートされているマイナーエンジンバージョン: 20200630 以降。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、一部の DDL 操作を高速化し、DDL 操作が RDS インスタンスのパフォーマンスに与える影響を軽減するために使用されます。

  • 推奨事項: このパラメータを有効にして、DDL 操作がワークロードに与える影響を軽減します。このパラメータを有効にすると、ApsaraDB RDS チームによって開発されたバッファプール管理メカニズムが使用されます。このメカニズムは、一部の DDL 操作 (スキーマの変更など) を高速化し、DDL 操作がワークロードに与える影響を軽減します。

innodb_thread_concurrency

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、InnoDB で許可されるスレッドの最大数を指定します。値 0 は、同時スレッド数に制限が課されないことを示します。このパラメータを変更して、RDS インスタンスでの高同時実行性によって発生するパフォーマンスの問題を解決できます。

  • 推奨事項: 高同時実行パフォーマンスの問題が発生しない場合は、この値を 0 に設定することをお勧めします。これは、同時実行性が無制限であることを示します。

binlog_transaction_dependency_history_size

  • サポートされているバージョン: マイナーエンジンバージョン 20210930 以降を実行する RDS インスタンスの MySQL 8.0、およびマイナーエンジンバージョン 20211231 以降を実行する RDS インスタンスの MySQL 5.7。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、メモリに保存できるハッシュ化されたトランザクション情報エントリの最大数を指定します。上限に達すると、すべての情報がクリアされます。

  • 症状: このパラメータを過度に小さい値に設定すると、セカンダリ RDS インスタンスでの並列再生の同時実行性に影響します。その結果、プライマリ RDS インスタンスとセカンダリ RDS インスタンスの間にレプリケーションの遅延が発生します。

  • 推奨事項: このパラメータを 500000 に設定します。このパラメータの変更方法の詳細については、「WRITESET 関連パラメータの変更」をご参照ください。

binlog_transaction_dependency_tracking

  • サポートされているバージョン: マイナーエンジンバージョン 20210930 以降を実行する RDS インスタンスの MySQL 8.0、およびマイナーエンジンバージョン 20211231 以降を実行する RDS インスタンスの MySQL 5.7。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、MySQL が並列レプリケーションを管理する方法を指定します。このパラメータを WRITESET に設定すると、トランザクション間の行レベルの競合を検出できます。これにより、セカンダリ RDS インスタンスでより高速な並列再生を実現できます。

  • 推奨事項: このパラメータを WRITESET に設定します。パラメータを変更する前に、transaction_write_set_extraction パラメータを変更する必要があります。詳細については、「WRITESET 関連パラメータの変更」をご参照ください。

transaction_write_set_extraction

  • サポートされているバージョン: マイナーエンジンバージョン 20210930 以降の MySQL 8.0 およびマイナーエンジンバージョン 20211231 以降の MySQL 5.7。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、WRITESET によって使用されるハッシュアルゴリズムを指定します。

  • 推奨事項: このパラメータを XXHASH64 に設定します。詳細については、「WRITESET 関連パラメータの変更」をご参照ください。

slave_parallel_workers

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、セカンダリ RDS インスタンスの再生スレッドの数を指定します。このパラメータを小さい値に設定すると、セカンダリ RDS インスタンスの並列再生効率に影響を与える可能性があります。

  • 推奨事項: このパラメータを、{GREATEST(DBInstanceClassCPU, 8)} 計算を使用して取得した値に設定します。

innodb_max_dirty_pages_pct_lwm

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータはパーセンテージを指定します。バッファプール内のダーティページの割合がこのパラメータの値より大きい場合、フラッシュ操作が実行されます。値 0 は、プリフラッシュが無効になっていることを示します。このパラメータの値は、innodb_max_dirty_pages_pct パラメータの値より小さくなければなりません。

  • 推奨事項: このパラメータを 10 に設定します。

eq_range_index_dive_limit

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、同等範囲の最大数を指定します。クエリ内の同等条件の同等範囲の数がこのパラメータの値以上の場合、オプティマイザは統計を使用して実行プランを計算します。クエリ内の同等条件の同等範囲の数がこのパラメータの値より小さい場合、オプティマイザはインデックスダイブメソッドを使用してデータをサンプリングし、統計を取得します。

    • 例:

      col_name IN(val1, ..., valN)
      col_name = val1 OR ... OR col_name = valN

      N 個の同等範囲が含まれています。

    • このパラメータの詳細については、「MySQL 公式ドキュメント」をご参照ください。

  • 推奨事項: このパラメータを、MySQL 5.6 を実行する RDS インスタンスの場合は 10 に、MySQL 5.7 および MySQL 8.0 を実行する RDS インスタンスの場合は 100 に設定します。

innodb_flush_neighbors

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、特定の InnoDB バッファプールからフラッシュされたダーティページと同じエクステント内のダーティページをフラッシュするかどうかを指定します。有効な値:

    • 0: 指定されたダーティページと同じエクステント内のダーティページはフラッシュされません。

    • 1: 指定されたダーティページと同じエクステント内のダーティページ、または隣接するダーティページがフラッシュされます。

    • 2: 指定されたダーティページと同じエクステント内のすべてのダーティページがフラッシュされます。

  • 推奨事項: このパラメータを 0 に設定します。

innodb_lock_wait_timeout

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、トランザクションが中止される前に InnoDB トランザクションが行ロックを待機する時間を指定します。単位: 秒。

  • 推奨事項: このパラメータを 50 に設定します。

innodb_lru_scan_depth

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、バッファプール内の LRU (Least Recently Used) ページリストのスキャンに使用されるページクリーナースレッドのスキャン深度を指定します。このパラメータは、バッファプールのフラッシュ操作に影響します。

  • 推奨事項: このパラメータを、{LEAST(DBInstanceClassMemory/1048576/8, 8192)} 計算を使用して取得した値に設定します。

innodb_purge_threads

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: はい。変更を有効にするには、RDS インスタンスを再起動する必要があります。

  • 一時的な切断が発生するかどうか: はい。オフピーク時にパラメータを変更することをお勧めします。

  • 機能: このパラメータは、InnoDB がアンドゥレコードをパージするために使用するバックグラウンドスレッドの数を指定します。値が大きいほど、アンドゥレコードをパージする効率が向上します。これにより、アンドゥファイルが蓄積されるのを防ぎます。場合によっては、値が大きいほど、DML 操作とクエリの効率が向上します。

  • 推奨事項: このパラメータを、LEAST(DBInstanceClassMemory/1073741824, 8) 計算を使用して取得した値に設定します。

innodb_log_file_size

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: はい。変更を有効にするには、RDS インスタンスを再起動する必要があります。

  • 一時的な切断が発生するかどうか: はい。オフピーク時にパラメータを変更することをお勧めします。

  • 機能:

    • このパラメータは、REDO ロググループの各ログファイルのサイズを指定します。ログファイルの合計サイズは 512 GB を超えることはできません。合計サイズは、innodb_log_file_size * innodb_log_files_in_group パラメータによって指定されます。このパラメータのデフォルト値は 48 MB です。

    • ほとんどの場合、ログファイルのサイズは、サーバーが 1 時間以上書き込みリクエストを処理できるのに十分な大きさである必要があります。これは、ピーク時とオフピーク時のワークロードバランスの達成に役立ちます。このパラメータの値が大きい場合、バッファプールで必要なチェックポイントリフレッシュの回数が少なくなります。これにより、ディスク I/O リソースの消費が少なくなります。ただし、ログファイルのサイズが大きすぎると、障害からの回復に必要な時間が長くなります。

  • 推奨事項: インスタンスの仕様に基づいてこのパラメータを構成します。

innodb_sync_array_size

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: はい。変更を有効にするには、RDS インスタンスを再起動する必要があります。

  • 一時的な切断が発生するかどうか: はい。オフピーク時にパラメータを変更することをお勧めします。

  • 機能: このパラメータは、ミューテックスまたはロック待機配列のサイズを定義します。値を大きくすると、多数の待機スレッドがあるワークロードの同時実行性が向上します。 RDS インスタンスを起動するときに、このパラメータを構成する必要があります。このパラメータの設定は変更できません。待機スレッドを頻繁に大量に生成するワークロードの場合は、このパラメータを大きな値に設定することをお勧めします。ほとんどの場合、待機スレッドの数が 768 を超える場合は、このパラメータの値を増やすことができます。

  • 推奨事項: このパラメータを 128 に設定します。

innodb_page_cleaners

  • サポートされているバージョン: MySQL 8.0 および MySQL 5.7。

  • パラメータ変更後にインスタンスを再起動するかどうか: はい。変更を有効にするには、RDS インスタンスを再起動する必要があります。

  • 一時的な切断が発生するかどうか: はい。オフピーク時にパラメータを変更することをお勧めします。

  • 機能: このパラメータは、バッファプールインスタンスからダーティページをフラッシュするために使用されるページクリーナースレッドの数を指定します。このパラメータのデフォルト値は 4 です。ページクリーナースレッドの数がバッファプールインスタンスの数を超える場合、システムは innodb_page_cleaners パラメータを innodb_buffer_pool_instances パラメータの値に設定します。

  • 推奨事項: このパラメータを 8 に設定します。

innodb_open_files

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: はい。変更を有効にするには、RDS インスタンスを再起動する必要があります。

  • 一時的な切断が発生するかどうか: はい。オフピーク時にパラメータを変更することをお勧めします。

  • 機能: このパラメータは、InnoDB が同時に開くことができるファイルハンドルの最大数を指定します。

  • 症状: このパラメータの値が小さい場合、インスタンスのパフォーマンスに影響を与える次のエラーが発生する可能性があります:

    [警告] [MY-012152] [InnoDB] オープンファイル * が制限 * を超えています
  • 推奨事項: このパラメータを 20000 に設定します。

default_time_zone

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: はい。変更を有効にするには、RDS インスタンスを再起動する必要があります。

  • 一時的な切断が発生するかどうか: はい。オフピーク時にパラメータを変更することをお勧めします。

  • 機能: このパラメータは、デフォルトのタイムゾーンを指定します。

  • 症状: このパラメータを空のままにすると、アプリケーションまたはデータベースによって実行される操作の時間が一致しない場合があります。たとえば、複数のタイムゾーンにわたってサービスを提供するアプリケーションは、時間の値を誤って変換したり、タイムスタンプに不整合を記録したりする可能性があります。さらに、頻繁な時間変換またはタイムゾーン調整操作により、計算負荷と CPU 使用率が高くなる可能性があります。

  • 推奨事項: ビジネス要件に基づいてこのパラメータを構成します。このパラメータの変更方法の詳細については、「ApsaraDB RDS for MySQL の time_zone パラメータのベストプラクティス」をご参照ください。

general_log

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、一般的なクエリログ機能を有効にするかどうかを指定します。

  • 症状: 一般的なクエリログ機能を有効にすると、いくつかのエラーが発生します。詳細については、「ApsaraDB RDS for MySQL の一般的なクエリログ機能に関するよくある質問」をご参照ください。

  • 推奨事項: このパラメータを OFF に設定します。

innodb_io_capacity

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、バックグラウンドタスクごとに InnoDB で許可される 1 秒あたりの I/O 操作の最大数を指定します。

  • 推奨事項: このパラメータを 20000 に設定します。

innodb_io_capacity_max

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、フラッシュ操作が遅れている場合のバックグラウンドタスクの InnoDB の最大 IOPS を指定します。

  • 推奨事項: このパラメータを 40000 に設定します。

innodb_change_buffering

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、レベル 2 インデックスへの書き込み操作を遅延させて、ランダム I/O をシーケンシャル I/O に変換します。これはハードディスクドライブ (HDD) のパフォーマンスゲインを向上させますが、最新のハードウェアのパフォーマンスゲインを制限します。パラメータを無効にすることをお勧めします。

  • 推奨事項: このパラメータを none に設定します。

innodb_parallel_read_threads

  • サポートされているバージョン: マイナーエンジンバージョン 20200831 以降の MySQL 8.0。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、主キースキャンの同時スレッド数を指定します。ただし、このパラメータにはバグがあります。パラメータを無効にすることをお勧めします。

  • 推奨事項: このパラメータを 0 に設定します。

innodb_ft_cache_size

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: はい。

  • 一時的な切断が発生するかどうか: はい。オフピーク時にパラメータを変更することをお勧めします。

  • 機能: このパラメータは、各テーブルのフルテキストインデックスのメモリサイズを指定します。単位: バイト。

  • 推奨事項: このパラメータを 8000000 に設定します。

innodb_ft_total_cache_size

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: はい。

  • 一時的な切断が発生するかどうか: はい。オフピーク時にパラメータを変更することをお勧めします。

  • 機能: このパラメータは、RDS インスタンスのフルテキストインデックスのメモリサイズを指定します。単位: バイト。

  • 推奨事項: このパラメータを 640000000 に設定します。

innodb_ft_result_cache_limit

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、各フルテキストインデックスのクエリ結果セットのメモリサイズを指定します。単位: バイト。

  • 推奨事項: このパラメータを 2000000000 に設定します。

thread_pool_enabled

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、スレッドプール機能を有効にするかどうかを指定します。

  • 推奨事項: このパラメータを ON に設定します。

thread_pool_size

  • サポートされているバージョン: MySQL 8.0 および MySQL 5.7。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、スレッドプール内のスレッドグループの数を指定します。

  • 推奨事項: このパラメータを、{LEAST(DBInstanceClassCPU × 2, 64)} 計算を使用して取得した値に設定します。

thread_pool_oversubscribe

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: いいえ。

  • 一時的な切断が発生するかどうか: いいえ。

  • 機能: このパラメータは、スレッドプールの各スレッドグループのアクティブスレッドの最大数を指定します。

  • 推奨事項: このパラメータを 32 に設定します。

thread_stack

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: はい。

  • 一時的な切断が発生するかどうか: はい。オフピーク時にパラメータを変更することをお勧めします。

  • 機能: このパラメータは、各ユーザースレッドのスタック深度を指定します。このパラメータを小さい値に設定すると、深く再帰的な SQL クエリが失敗する可能性があります。

  • 推奨事項: このパラメータを 1048576 に設定します。

performance_schema

  • サポートされているバージョン: MySQL 8.0、MySQL 5.7、および MySQL 5.6。

  • パラメータ変更後にインスタンスを再起動するかどうか: はい。

  • 一時的な切断が発生するかどうか:

  • 機能: このパラメータは、パフォーマンススキーマ機能を有効にするかどうかを指定します。この機能は RDS インスタンスの実行を監視しますが、メモリオーバーヘッドとパフォーマンスの問題が発生する可能性があります。パラメータを無効にすることをお勧めします。

  • 推奨事項: このパラメータを OFF に設定します。