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

Доброго времени суток! Подскажите пожалуйста, если кто знает, по pg_trgm Впервые

вижу работу запросов с этим расширением. Проблема в том, что при выполнении запросов создается 100% нагрузка на ядро ЦПУ. Могу показать пример структуры запроса. Или возможно это особенность работы с триграммами? Размер таблицы ~400к строк

20 ответов

14 просмотров

Хмм... создаётся и отлично, там же CPU купили не для того, чтобы он спал? ;) Т.е. проблемы есть какие-то от этого?

Roman- Автор вопроса
Yaroslav Schekin
Хмм... создаётся и отлично, там же CPU купили не д...

С учётом такого небольшого размера таблицы, никаких ядер не хватит

Roman- Автор вопроса
Yaroslav Schekin
Хмм... создаётся и отлично, там же CPU купили не д...

Просто пытаюсь понять. Это особенность работы или запрос неправильно составлен?

Roman
С учётом такого небольшого размера таблицы, никаки...

Хмм? Я напишу по-другому — если какая-то СУБД не нагружает CPU на 100%, когда у неё есть единственный запрос для выполнения (и нет ожиданий диска, RAM и т.п.) — это её дефект. Вы хотите, чтобы в PostgreSQL был дефект? ;) Или в чём реальная проблема?

Roman- Автор вопроса
Yaroslav Schekin
Хмм? Я напишу по-другому — если какая-то СУБД не н...

У меня получается картина, что на 34 базы под рабочей нагрузкой, эта база с запросами pg_trgm составляет 60% загрузка цпу всего сервера. Я и пытаюсь понять нормальная ли эта картина при работе с этим расширением или где то что то идёт не так.

Roman
У меня получается картина, что на 34 базы под рабо...

Так, может, другие запросы (к другим базам) в основном "простые" (типичные для OLTP)? Если так — у них-то как раз накладных расходов много. А триграммный индекс, скорее всего, создан для чего-то "тяжёлого" (иначе бы его там не было, верно?), вот такие запросы и выбиваются из общего ряда.

Roman- Автор вопроса
Yaroslav Schekin
Так, может, другие запросы (к другим базам) в осно...

Да, через pg_trgm ищутся и сопоставляются различные строки произвольной длины (до 50 символов) , плюс транслитерация этих строк. Благодарю за ответы! Видимо это просто так работает и либо стоит смириться, либо не использовать реляционки для этих целей.

Roman
Да, через pg_trgm ищутся и сопоставляются различны...

> Видимо это просто так работает и либо стоит смириться С чем "смириться", о чём Вы?! > либо не использовать реляционки для этих целей. Извните, но я один не понимаю, как Вам удалось сделать этот "вывод"?! ;(

Roman- Автор вопроса
Yaroslav Schekin
> Видимо это просто так работает и либо стоит смир...

Смириться, что запрос такого характера будет давить цпу на полную.

Roman
Смириться, что запрос такого характера будет давит...

И Вы считаете это недостатком потому, что... что?

Roman- Автор вопроса
Yaroslav Schekin
> Видимо это просто так работает и либо стоит смир...

Возможно я ошибаюсь конечно. Могу показать план запроса. Но лично я в нем не вижу ничего криминального.

Roman
Возможно я ошибаюсь конечно. Могу показать план за...

Вы, мне кажется, если и ошибаетесь, то фундаментально (путаете чёрное с белым). Вы мне можете объяснить, почему Вы считаете... см. выше?

Roman- Автор вопроса
Yaroslav Schekin
Вы, мне кажется, если и ошибаетесь, то фундаментал...

Боюсь исчерпать железные ресурсы на, сравнительно, небольших размерах базы.

Roman- Автор вопроса
Yaroslav Schekin
Вы, мне кажется, если и ошибаетесь, то фундаментал...

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

Roman
Боюсь исчерпать железные ресурсы на, сравнительно,...

Да, Вы путаете чёрное с белым. ;) Ресурсы же не "исчёрпываются", они нужны для того, чтобы их использовать. Если у Вас [слишком] много запросов — что-то "подвинется", как всегда. Но то, что "тяжёлые" запросы забирают 100% какого-то из нужных им ресурсов — это норма (или же к этому стоит стремиться). Хуже, если не забирают (т.е. СУБД не способна использовать всё "железо", которое ей дают).

Roman- Автор вопроса
Yaroslav Schekin
Да, Вы путаете чёрное с белым. ;) Ресурсы же не "и...

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

Roman
Если что, я не претендую на какого либо гуру postg...

Да это же "общие знания о природе", как говорится. Мне смутно вспоминается, что про mainframes в своё время говорили что-то вроде "если у вас нагрузка всех CPU постоянно ниже 90%, значит вы впустую тратите деньги".

Roman
Я просто пытаюсь понять, можно ли что то где то оп...

Мне уже начинает казаться, что Вы не читаете то, что я Вам пишу. :( У Вас настоящая проблема есть какая-то? Что-то тормозит и т.п.?

Roman- Автор вопроса
Yaroslav Schekin
Мне уже начинает казаться, что Вы не читаете то, ч...

Я понял вашу точку зрения. Больше утилизация = лучше. Но соседние базы будут не очень рады в определенный момент. Но тогда решение одно - отселить прожору и дать ему ресурсов столько, чтобы хватило, но не простаивало

Roman
Я понял вашу точку зрения. Больше утилизация = луч...

Он "подвинется", если "соседним базам" это будет нужно. И это же не "магия", а обычная вытесняющая многозадачность OS...

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта