Отдельная очередь для пылесосов Amazon Redshift - PullRequest
0 голосов
/ 28 апреля 2018

Я рассматриваю возможность создания отдельной очереди для вакуумных запросов с параллелизмом, установленным на 1 в WLM (Workload Management). Я выбираю параллелизм 1, потому что в любой момент времени может быть запущен только один вакуумный запрос. Я пытаюсь подумать, будут ли какие-либо проблемы в этой реализации.

Когда я запускаю следующий запрос, чтобы проверить, сколько слотов занимает вакуумный запрос, становится ясно, что в любой данный момент времени только один слот занят любым многоступенчатым вакуумным запросом.

SELECT wlm.query, wlm.slot_count, trim(q.text), queue_start_time, queue_end_time, total_queue_time
FROM stl_wlm_query wlm, stl_querytext q
WHERE wlm.query = q.query
AND text like '%Vacuum my_awesome_table%'

ORDER BY queue_start_time DESC;

  query  | slot_count |                                     btrim                               |      queue_start_time      |       queue_end_time
---------+------------+-------------------------------------------------------------------------+----------------------------+-----------------------------
 1013242 |          1 | Vacuum my_awesome_table integrity check after vacuum execution          | 2018-04-27 16:46:47.90601  | 2018-04-27 16:46:47.90601
 1013237 |          1 | Vacuum my_awesome_table merge (increment: 2 remaining rows: 77234725)   | 2018-04-27 16:46:40.785284 | 2018-04-27 16:46:40.785284
 1013235 |          1 | Vacuum my_awesome_table merge (increment: 1)                            | 2018-04-27 16:46:29.789227 | 2018-04-27 16:46:29.789227
 1013232 |          1 | Vacuum my_awesome_table sort (partition: 35 remaining rows: 331972)     | 2018-04-27 16:46:16.978124 | 2018-04-27 16:46:16.978124
 1013231 |          1 | Vacuum my_awesome_table sort (partition: 34 remaining rows: 1458914)    | 2018-04-27 16:46:15.059653 | 2018-04-27 16:46:15.059653
 1013229 |          1 | Vacuum my_awesome_table sort (partition: 33 remaining rows: 2586321)    | 2018-04-27 16:46:13.641356 | 2018-04-27 16:46:13.641356
 1013228 |          1 | Vacuum my_awesome_table sort (partition: 32 remaining rows: 3713038)    | 2018-04-27 16:46:12.233741 | 2018-04-27 16:46:12.233741
 1013227 |          1 | Vacuum my_awesome_table sort (partition: 31 remaining rows: 4839275)    | 2018-04-27 16:46:10.838661 | 2018-04-27 16:46:10.838661
 1013226 |          1 | Vacuum my_awesome_table sort (partition: 30 remaining rows: 5965341)    | 2018-04-27 16:46:09.421457 | 2018-04-27 16:46:09.421457
 1013225 |          1 | Vacuum my_awesome_table sort (partition: 29 remaining rows: 7090572)    | 2018-04-27 16:46:07.93862  | 2018-04-27 16:46:07.93862
 1013224 |          1 | Vacuum my_awesome_table sort (partition: 28 remaining rows: 8215908)    | 2018-04-27 16:46:06.441227 | 2018-04-27 16:46:06.441227
 1013223 |          1 | Vacuum my_awesome_table sort (partition: 27 remaining rows: 9341191)    | 2018-04-27 16:46:05.009684 | 2018-04-27 16:46:05.009684
 1013222 |          1 | Vacuum my_awesome_table sort (partition: 26 remaining rows: 10467621)   | 2018-04-27 16:46:03.54458  | 2018-04-27 16:46:03.54458
 1013221 |          1 | Vacuum my_awesome_table sort (partition: 25 remaining rows: 11594203)   | 2018-04-27 16:46:01.998305 | 2018-04-27 16:46:01.998305
 1013218 |          1 | Vacuum my_awesome_table sort (partition: 24 remaining rows: 12720513)   | 2018-04-27 16:46:00.528971 | 2018-04-27 16:46:00.528971
 1013217 |          1 | Vacuum my_awesome_table sort (partition: 23 remaining rows: 13844984)   | 2018-04-27 16:45:59.071698 | 2018-04-27 16:45:59.071698
 1013216 |          1 | Vacuum my_awesome_table sort (partition: 22 remaining rows: 14970941)   | 2018-04-27 16:45:57.596597 | 2018-04-27 16:45:57.596597
 1013215 |          1 | Vacuum my_awesome_table sort (partition: 21 remaining rows: 16097323)   | 2018-04-27 16:45:56.253103 | 2018-04-27 16:45:56.253103
 1013214 |          1 | Vacuum my_awesome_table sort (partition: 20 remaining rows: 17223270)   | 2018-04-27 16:45:54.634498 | 2018-04-27 16:45:54.634498
 1013213 |          1 | Vacuum my_awesome_table sort (partition: 19 remaining rows: 18351994)   | 2018-04-27 16:45:53.265236 | 2018-04-27 16:45:53.265236
 1013212 |          1 | Vacuum my_awesome_table sort (partition: 18 remaining rows: 19477834)   | 2018-04-27 16:45:51.741294 | 2018-04-27 16:45:51.741294
 1013211 |          1 | Vacuum my_awesome_table sort (partition: 17 remaining rows: 20605101)   | 2018-04-27 16:45:50.338666 | 2018-04-27 16:45:50.338666
 1013210 |          1 | Vacuum my_awesome_table sort (partition: 16 remaining rows: 21730370)   | 2018-04-27 16:45:48.698214 | 2018-04-27 16:45:48.698214
 1013209 |          1 | Vacuum my_awesome_table sort (partition: 15 remaining rows: 22856152)   | 2018-04-27 16:45:46.27666  | 2018-04-27 16:45:46.27666
 1013208 |          1 | Vacuum my_awesome_table sort (partition: 14 remaining rows: 23981990)   | 2018-04-27 16:45:43.603719 | 2018-04-27 16:45:43.603719
 1013206 |          1 | Vacuum my_awesome_table sort (partition: 13 remaining rows: 25107349)   | 2018-04-27 16:45:40.848632 | 2018-04-27 16:45:40.848632
 1013205 |          1 | Vacuum my_awesome_table sort (partition: 12 remaining rows: 26233207)   | 2018-04-27 16:45:38.097134 | 2018-04-27 16:45:38.097134
 1013204 |          1 | Vacuum my_awesome_table sort (partition: 11 remaining rows: 27359056)   | 2018-04-27 16:45:35.316781 | 2018-04-27 16:45:35.316781
 1013203 |          1 | Vacuum my_awesome_table sort (partition: 10 remaining rows: 28486363)   | 2018-04-27 16:45:33.815825 | 2018-04-27 16:45:33.815825
 1013202 |          1 | Vacuum my_awesome_table sort (partition: 9 remaining rows: 29612051)    | 2018-04-27 16:45:32.262505 | 2018-04-27 16:45:32.262505
 1013201 |          1 | Vacuum my_awesome_table sort (partition: 8 remaining rows: 30738238)    | 2018-04-27 16:45:30.867315 | 2018-04-27 16:45:30.867315
 1013200 |          1 | Vacuum my_awesome_table sort (partition: 7 remaining rows: 31864515)    | 2018-04-27 16:45:29.476297 | 2018-04-27 16:45:29.476297
 1013197 |          1 | Vacuum my_awesome_table sort (partition: 6 remaining rows: 32989591)    | 2018-04-27 16:45:28.023365 | 2018-04-27 16:45:28.023365
 1013196 |          1 | Vacuum my_awesome_table sort (partition: 5 remaining rows: 34115286)    | 2018-04-27 16:45:26.607642 | 2018-04-27 16:45:26.607642
 1013195 |          1 | Vacuum my_awesome_table sort (partition: 4 remaining rows: 35241021)    | 2018-04-27 16:45:25.179251 | 2018-04-27 16:45:25.179251
 1013194 |          1 | Vacuum my_awesome_table sort (partition: 3 remaining rows: 36367702)    | 2018-04-27 16:45:23.167024 | 2018-04-27 16:45:23.167024
 1013193 |          1 | Vacuum my_awesome_table sort (partition: 2 remaining rows: 37493086)    | 2018-04-27 16:45:21.550219 | 2018-04-27 16:45:21.550219
 1013192 |          1 | Vacuum my_awesome_table sort (partition: 1)                             | 2018-04-27 16:45:13.472849 | 2018-04-27 16:45:13.472849
 1013188 |          1 | Vacuum my_awesome_table integrity check before vacuum execution         | 2018-04-27 16:45:13.083657 | 2018-04-27 16:45:13.083657
 1008690 |          1 | Vacuum my_awesome_table integrity check after vacuum execution          | 2018-04-27 09:00:23.795686 | 2018-04-27 09:00:23.795686
 1008686 |          1 | Vacuum my_awesome_table merge (increment: 2 remaining rows: 115824559)  | 2018-04-27 09:00:15.527474 | 2018-04-27 09:00:15.527474
 1008680 |          1 | Vacuum my_awesome_table merge (increment: 1)                            | 2018-04-27 09:00:00.946362 | 2018-04-27 09:00:00.946362

1 Ответ

0 голосов
/ 28 апреля 2018

Идея использования нескольких очередей состоит в том, чтобы помешать одному набору запросов мешать другому набору запросов. Помещение ваших VACUUM в отдельную очередь будет означать, что длительный VACUUM не повлияет на ваши другие запросы.

Параллелизм 1 - это хорошо для VACUUM.

Чем важнее объем памяти, который вы ему предоставляете - тем больше, тем лучше, но вы также не хотите тратить эту память, пока VACUUM не работает.

Итак, если вы используете VACUUM только для части дня, очередь тратится впустую на оставшееся время. Это не может быть оптимальным для вашей ситуации.

...