Redshift WLM - как используются неиспользуемые слоты - PullRequest
0 голосов
/ 19 сентября 2018

Мое понимание WLM в Redshift состоит в том, что есть очереди, и в каждой очереди есть слоты (по умолчанию 5).И скажем, система простаивает, и я запускаю запрос.По умолчанию он занимает один слот и выполняет запрос, хотя другие слоты свободны и доступны.Правильно?

Если это так, не является ли трата ресурсов позволить другим слотам оставаться бездействующими и не выполнять какую-либо работу, когда они могут?

1 Ответ

0 голосов
/ 24 сентября 2018

Да, именно так работает Redshift WLM.

Например, если он настроен на одну очередь и в этой очереди пять слотов, каждый с 20% памяти, то ваш один запрос по умолчанию будет выполняться в одном слоте и использовать максимум 20% памяти.Остальные слоты будут простаивать в ожидании, пока другой запрос попадет в ту же очередь.

Однако вы можете переопределить поведение по умолчанию, например, указав wlm_query_slot_count как 2, запрос будет использовать два слота вместо одногои, следовательно, до 40% памяти.

например,

set wlm_query_slot_count to 2;
select * from public.mytable;

Будьте осторожны при этом, хотя, если вы увеличите счетчик слотов до 5 (в этом примере), никакие другие запросы не смогут выполняться, поскольку теперь нет доступныхслоты.Это не совсем верно, если ускорение коротких запросов (SQA) включено в кластере, так как в этом случае очень короткие запросы (обычно 5 секунд или меньше) будут выполняться в специальной скрытой очереди, если нетнормальные слоты доступны.

Многие конфигурации кластера WLM будут иметь более одной очереди, может быть, одну или две с несколькими слотами и, следовательно, более высоким отношением ресурсов к слотам, которое можно использовать для меньшего числа ресурсоемких задач, таких как загрузка данных иобновления, а некоторые с большим количеством слотов с меньшим количеством ресурсов на слот.Эти очереди обычно используются инструментами BI и аналитики для запроса данных.

Вы также можете использовать Перескок очереди запросов WLM для управления запросами, которые в конечном итоге ожидают освобождения слотов путем перенаправленияих в другую очередь.Также имейте в виду, что «параллелизм» и «процент памяти» являются динамическими свойствами конфигурации WLM, и вы можете изменить их с помощью CLI ( ModifyClusterParameterGroup ) без необходимости перезапуска кластера, напримерперераспределить ресурсы из очереди загрузки данных в очередь аналитики после загрузки всех данных.

...