2016-05-04 61 views
6

AWS Redshiftとのテストを行い、現実のシナリオを再現しますパフォーマンスの虚像を与えないようにキャッシュされないようにテストクエリを必要とします。クエリ実行間にRedshiftキャッシュをクリアする方法はありますか?AWS Redshiftのキャッシュをクリアします

答えて

1

私が知る限り、あなたはできません。 パフォーマンス上の理由と「実世界のパフォーマンス」については、前述したように、最初の実行を破棄し、ウォームキャッシュに対する後続の実行のパフォーマンスインジケータを使用するだけです。これは冷たいキャッシュに対して実行するよりも現実的なものになり、最悪の場合のシナリオになります。 コールド・キャッシュ・パフォーマンスの測定を主張する場合は、コールド・ランごとにクラスタを再起動するのが最も簡単です(時間はかかりますが)。

+1

https://docs.aws.amazon.com/redshift/latest/dg/c-query-performance.htmlによると、再起動もできません。 「LRUキャッシュはクラスタの再起動によって維持されますが、メンテナンスのアップグレードによって削除されます。しかし、暖かいキャッシュを使用するのは正しいことです。なぜなら、「最初に実行したときのクエリのパフォーマンスは誤解を招く可能性があるからです。 – rkulla

+0

しかし、実際には、多くのアプリがさまざまなクエリを実行しています。 LRUキャッシュが処理する値が多すぎます。したがって、最終的にはLRUキャッシュは新しいキャッシュのためにいくつかのキャッシュ要素を追い出します。次に、「コールド」クエリのパフォーマンスに戻ります。最も遅い「冷たい」クエリは、エンドユーザーに再び発生するため、パフォーマンスを常に向上させることが重要です。 – user2326106

0

は、私はあなたがenable_result_cache_for_sessionがオフになっている場合documentation

からoff

に値enable_result_cache_for_sessionを設定することにより、テストセッションのキャッシュを無効にすることができると信じて、アマゾン赤方偏移は、結果のキャッシュを無視し、すべてのクエリを実行しますそれらが提出されたとき。

関連する問題