製品アップデート
製品お知らせ

最適化ケース | 説明 | 価値 |
クエリキャッシュパーティション最適化 | Query Cache/Meta Hashに対してパーティション処理を行い、異なるタイプまたは範囲のクエリを特定のパーティションに正確にマッピングし、ハッシュ衝突の確率を低下させ、クエリキャッシュの位置特定と検索プロセスを加速します。 | クエリキャッシュのハッシュ性能とヒット率を向上させ、高同時実行クエリ環境においてCPUリソース消費を著しく削減し、大量のクエリリクエストにより効率的に応答します。 |
読み取り専用ノードのテーブルオープン最適化 | 読み取り専用ノードにおけるクエリキャッシュの有効性検証プロセスでのテーブルオープン操作に対して深度最適化を実施し、テーブル操作に起因する不要なキャッシュ無効化を減少させ、クエリキャッシュがより多くのシナリオで有効状態を維持することを確保します。 | キャッシュの実利用率とシステム全体のクエリ性能を向上させます。 |
ヒット率に基づくインテリジェントキャッシュ制御 | クエリキャッシュのヒット率が低いレベルにある場合、インテリジェントキャッシュ制御メカニズムを自動的に起動し、同時クエリ数を制限し、サンプリング頻度を適切に設定します。これにより、大多数のクエリがクエリキャッシュをバイパスし、専用スレッドのみがサンプリングとヒット率推定を担当します。ヒット率が回復した後、クエリキャッシュ機能を再開します。 | 低ヒット率状況下での大量クエリがキャッシュシステムに殺到することによるリソース浪費とパフォーマンス低下の問題を回避し、無効なクエリキャッシュが占有するスペースリソースを削減し、システムが異なるヒット率シナリオにおいて安定した効率的な運用を維持します。 |
キャッシュスワップオーバーヘッド最適化 | キャッシュ置換アルゴリズムとメモリ管理戦略を最適化し、キャッシュの入れ替え操作の頻度とリソース消費を削減します。科学的で合理的な戦略に基づいてキャッシュ置換を行い、高頻度かつ重要なクエリキャッシュ結果を優先的に保持します。 | 頻繁なスワップイン・アウトによるシステムパフォーマンスの変動を減少させ、クエリキャッシュが限られたメモリリソースの下で最大限の効果を発揮し、持続的かつ安定したクエリ高速化サポートを提供します。 |
LRUキャッシュ戦略の最適化 | クエリのサイズとヒット数に基づいてQuery Cache LRUキャッシュ戦略を精緻に調整し、高頻度およびスカラークエリ結果を優先的に保存し、効率の低いクエリをキャッシュすることによるスペースの浪費を回避します。 | キャッシュスペースの利用効率と特定負荷下でのシステムのクエリ応答性能を向上させ、キャッシュリソースが最も価値の高いクエリタスクに割り当てられることを確保します。 |
ダイナミックキャッシュスイッチ制御 | システムが書き込み負荷の圧力に直面した場合、クエリキャッシュをタイムリーに動的に無効化し、読み書き負荷が停止した後、秒単位で再有効化します。 | 頻繁なデータ更新によるクエリキャッシュの無効化やパフォーマンスの低下を防止し、クエリキャッシュの適応性と柔軟性を高め、システムが複雑な読み書き負荷環境でも良好なパフォーマンスを維持できるようにします。 |
ダイナミックキャッシュ容量調整 | クエリキャッシュサイズの動的リサイズをサポートし、調整プロセス中に進行中の読み書きリクエストをブロックしません。リアルタイムの負荷需要とリソース状況に基づいてキャッシュサイズを柔軟に調整します。 | 固定キャッシュサイズの設定が不適切さによる性能ボトルネック問題を解決し、キャッシュ容量調整による急激なパフォーマンス低下や中断現象の発生を回避します。これにより、システムが持続的かつ安定的に高効率なクエリ高速化サービスを提供できるようになります。 |
パラメータ名 | 再起動の要否 | グローバル設定か否か | 既定値 | 値の範囲 | 構成可能なノード | 説明 |
query_cache_limit | no | いいえ | 1048576 | 0 - ulong_max* | 読み書きインスタンス 読み取り専用インスタンス | この値を超えるQuery結果セットはキャッシュされません。単位:Bytes。 |
query_cache_size | no | いいえ | 1048576 | 1048576 - ulong_max* | 読み書きインスタンス 読み取り専用インスタンス | システムでクエリキャッシュに利用可能なメモリサイズ(実際に使用時にのみメモリ領域を占有)、単位:Bytes、値は1024の倍数でなければなりません。 説明: Sysbench Pocシナリオでは、テーブルサイズの20%以上をquery_cache_sizeとして設定することを推奨します。通常シナリオではBuffer Poolの5%程度を推奨します。読み取り専用テーブルが存在しない、またはホットスポットが顕著でない業務の場合は、query_cache_sizeの縮小を推奨します。 |
query_cache_type | 詳細は説明列参照 | いいえ | OFF | OFF/ON/DEMAND | 読み書きインスタンス 読み取り専用インスタンス | 設定値 OFF:機能が無効であることを示します。 設定値 ON:SELECT文でsql_no_cacheを使用してクエリキャッシュを無効にしない限り、すべての結果をキャッシュすることを示します。 設定値 DEMAND:SELECT文でsql_cacheによってキャッシュが必要と指定されたクエリのみをキャッシュすることを示します。 注意: クエリキャッシュが初期状態で無効(設定ファイルで query_cache_type=0)の場合、動的に有効化することはできず、my.cnf を設定して再起動する必要があります。ただし、クエリキャッシュの無効化は常に動的に実行することが可能です。 |
query_cache_wlock_invalidate | no | いいえ | OFF | ON/OFF | 読み書きインスタンス 読み取り専用インスタンス | テーブルに書き込みロックがかかった場合、関連するクエリキャッシュを先に無効化するかどうかを判断します。 ON:有効 OFF:無効 |
SHOW STATUS LIKE 'Qcache%';
Status | 説明 |
Qcache_hits | クエリキャッシュのヒット回数。 |
Qcache_hit_rate | 直近のクエリヒット率。値は、直近の10000回のクエリキャッシュ(Qcache_search_timesが10000回増加するごと)におけるクエリキャッシュのヒット割合を示します。 |
Qcache_search_times | Queryキャッシュに対するクエリの回数(スロットリングされたクエリおよびQuery Cacheの条件を満たさないクエリはカウントされません)。 |
Qcache_total_times | QueryがQuery Cacheを経由した総回数(スロットリングなどの状況も記録されます)。 |
Qcache_free_memory | クエリキャッシュの空き容量。 |
Qcache_inserts | 結果セットが正常にキャッシュされた回数。 |
Qcache_not_cached | 結果セットのキャッシュに失敗した回数。 |
Qcache_queries_in_cache | Query Cacheにキャッシュされたクエリの数。 |
Qcache_lowmem_prunes | LRUによって追い出されたクエリキャッシュの数。 |
テスト対象 | テストシナリオ | テスト手順および結果 |
クエリキャッシュによる読み取りシナリオの性能向上。 | 異なるデータ量におけるクエリキャッシュによる性能向上。 | |
クエリキャッシュサイズ(query_cache_size)が性能に与える影響。 | 異なるquery_cache_size及びデータ量におけるクエリキャッシュによる性能向上。 |








フィードバック