172 похожих чатов

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

15.5 (16 CPU / 32 RAM / SSD)

Странное поведение вот в чем. Если выставлять параметры:
random_page_costs
effective_io_concurrency
как для SSD дисков (1.1 и 200 соответственно), то сервер не запускает параллельные "воркеры",
А если эти же параметры настроить как для HDD (4 и 2 соответственно), то параллельные воркеры запускаются.
И разница в запросе 3 минуты при настройках как для SSD или 40 секунд при настройке, как для HDD.

Это нормальное поведение сервера ?
Размер базы порядка 80 GB.

19 ответов

29 просмотров

Ну, что ты как первый раз -- на случай скорости у нас закреп висит.

Ilya Anfimov
Ну, что ты как первый раз -- на случай скорости у ...

погнали: план при настройках как SSD DDL план настройки HDD запрос

Марсель Габдрахманов
погнали: план при настройках как SSD DDL план нас...

Мда. Детально не прочитал, и, видимо, только ночью руки дойдут — но по первым прикидкам вроде непараллелящихся сегментов не появилось в плане "под ССД". А если parallel_tuple_cost и parallel_setup_cost в 0 поставить – то explain не начнёт воркеров предлагать?

Ilya Anfimov
Мда. Детально не прочитал, и, видимо, только ночью...

заметил, explain почему то "Режет" параллельные воркеры.

Марсель Габдрахманов
заметил, explain почему то "Режет" параллельные во...

Непонял. Строки Gather Merge, Parallel Join и Parallel seq scan должны остаться.

Марсель Габдрахманов
выбирает их

Непонял. Кост 90 мильонов — это скорее "хдд" настройки, тут он и так выбирался.

Марсель Габдрахманов
погнали: план при настройках как SSD DDL план нас...

Вы бы лучше показывали EXPLAIN (ANALYZE, VERBOSE, BUFFERS, SETTINGS)... кстати, ни одной поддерживаемой версии PostgreSQL, где это не работает, больше нет. И да, зачем Вы показываете сгенерированный неведомо чем DDL, а не просто \d+? А в остальном — всё тут правильно, на первый взгляд.

Марсель Габдрахманов
легко DDL - так удобней просто

> легко Ну и тут всё нормально, так? Т.е. parallel workers при random_page_cost = '1.1' используются... или в чём проблема? > DDL - так удобней просто Кому удобнее, извините? Эта информации нужна для того, чтобы удобнее было тем, кто может Вам помочь. ;)

Марсель Габдрахманов
всё меняется если убрать explain )

Ну так тогда надо вытаскивать актуальные планы с помощью auto_explain. И да, дело тут не в EXPLAIN в любом случае (это совпадение), а либо в настройках тех сессий, либо в том, что нет workers и т.п.

Марсель Габдрахманов
всё меняется если убрать explain )

Большинство драйверов пытаются declare cursor)

Марсель Габдрахманов
исправляюсь )

Здесь ничего "криминального" (кроме модели ;) ) нет, на первый взгляд. Т.е., опять-таки, ждёт Вас auto_explain.

Марсель Габдрахманов
psql

Покажите потом. Не верю что в самом psql

Марсель Габдрахманов
исправляюсь )

Я таки непонял -- ты попробовал parallel_*_cost поставить в 0 и выполнить explain с настройками "под SSD"?

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
{!! $modx->runSnippet( 'multiTV',[ 'tvName'=>'slider-main1', 'docid'=>'[*id*]', 'tplConfig'=>'', 'display'=>'4', 'offset'=>'0', 'rows'=>'all', 'ra...
Роман С
4
Из рассылки The Lazarus team is glad to announce the release of Lazarus 3.4. This is a bugfix release and was built with FPC 3.2.2. Here is the list of changes for Lazarus...
Ed Doc
4
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Всем привет! поделитесь, пож-та, как кто дебажил / решал проблему с 504 Time out ошибкой от nginx, когда стучишься на свой vapor сервер? в логах /var/log/nginx/error.log е...
Paul
24
Как добавить ссылку в Быстрый доступ в Проводнике windows 10? Нашёл, как на power shell сделать, но может есть способ через Дельфи?
А
31
Карта сайта