4

Amazon Redshift では、同時クエリは相互のパフォーマンスに影響しますか?

たとえば、2 つのクエリがあるとします。1 つは比較的小さなテーブル (~5m 行) ですべての行を取得し、もう 1 つは大きなテーブル (~500m) の行を取得します。どちらのテーブルにも同じフィールドがあり、どちらも圧縮されていません。どちらのクエリも、それぞれのテーブルのすべてのデータを取得して結果を計算します。結合やフィルターはありません。どちらのクエリも、計算のために約 2 ~ 4 個のフィールドを取得します。

単独で実行すると、小さなクエリは約 700 ミリ秒で返されます。ただし、大きなクエリが実行されている間 (それ自体で数分かかります)、小さなクエリは 4 ~ 6 秒で返されます。

これは、単一の XL ノードを持つクラスターで観察された動作です。

これは予想される動作ですか?大きなクエリが実行されている場合でも、小さなクエリのパフォーマンスの一貫性を約束する構成設定はありますか?

4

2 に答える 2

4

コピーペースト: https://forums.aws.amazon.com/thread.jspa?threadID=137540#

同時クエリのベンチマークをいくつか実行しました。

実行に約 1 分かかる簡単なクエリを作成しました。次に、これらのクエリの 1 つを一度に実行し、次に 2 つ、3 つというように実行し、各クエリの時間を計りました。

各クエリは基本的にデータベースのパフォーマンスを半分にします。負荷が 2 倍になり、パフォーマンスが半分になります。

実際には、半分にするよりは少しましです。パフォーマンスが約 10% 向上します。

このパフォーマンス動作は、私が使用していたデータベースで構成された同時クエリの最大数である、最大 5 つの同時クエリに当てはまりました。6 つのクエリを実行すると、最初のクエリの 1 つが終了してスロットが解放されるまで、最後のクエリを実行できませんでした。

最後に、バキュームは通常のクエリと同じように機能します。パフォーマンスが半分になります。それは特別なことではありません。

実際、バキュームは半減以上のものです。かなり重いクエリと同等です。

于 2013-10-17T06:24:05.470 に答える
2

これらはすべて固定数の CPU で実行されるため、保証はありません。仕事のキャパシティが一定の場合、仕事を増やすとスループットが低下します。簡単な答えは、より大きなマシン (つまり、より多くのノード) を入手することです。

あなたの答えの詳細は次のとおりです。

https://forums.aws.amazon.com/message.jspa?messageID=437015#

http://docs.aws.amazon.com/redshift/latest/dg/c_workload_mngmt_classification.html

于 2013-10-16T13:05:45.643 に答える