powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Тормоза с tsearch2
8 сообщений из 8, страница 1 из 1
Тормоза с tsearch2
    #35238081
netscripter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обнаружил странные тормоза даже при элементарных запросах типа

Код: plaintext
1.
2.
select to_tsquery('облака|плыли')
select to_tsvector('облака плыли')

Такие запросы выполняются секунду-полторы, что очень долго.
Это только у меня такое? Может тормоза при открытии и парсинге словарей?
...
Рейтинг: 0 / 0
Тормоза с tsearch2
    #35238180
Oleg Bartunov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netscripterОбнаружил странные тормоза даже при элементарных запросах типа

Код: plaintext
1.
2.
select to_tsquery('облака|плыли')
select to_tsvector('облака плыли')

Такие запросы выполняются секунду-полторы, что очень долго.
Это только у меня такое? Может тормоза при открытии и парсинге словарей?

Ты бы сообщил подробности - версию,настройки, выдачу скопируй.
Если несколько раз подряд сделать, то какое время будет ? В первый раз в сессии надо
открыть словари, на это тратится время, не такое как у тебя, но потом все должно летать
...
Рейтинг: 0 / 0
Тормоза с tsearch2
    #35238252
netscripter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Версия 8.2.7, да сейчас попробовал второй и следующий запросы идут быстро. Но дело в том что это используется при каждом соединении и нет возможности держать его. Можно ли настроить на загрузку словарей вместе с сервером?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
select to_tsquery('облака|плыли');
     to_tsquery
--------------------
 'облако' | 'плыть'
( 1  row)

adman=> select to_tsvector('облака плыли');
     to_tsvector
----------------------
 'плыть': 2  'облако': 1 
( 1  row)

...
Рейтинг: 0 / 0
Тормоза с tsearch2
    #35238471
iz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
iz
Гость
выдачу нужно было с таймингом приводить :) а то так непонятно, сколько времени какой запрос занял.

настроить загрузку словарей вместе с сервером нельзя; они читаются один раз в начале сессии, где потребовался tsearch2. проблема легко решается кешированием соединений, что, вообще говоря, полезно и по многим другим причинам. рекомендуется для этой цели использовать pgpool или pgbouncer.
...
Рейтинг: 0 / 0
Тормоза с tsearch2
    #35238640
netscripter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
izвыдачу нужно было с таймингом приводить :) а то так непонятно, сколько времени какой запрос занял.

настроить загрузку словарей вместе с сервером нельзя; они читаются один раз в начале сессии, где потребовался tsearch2. проблема легко решается кешированием соединений, что, вообще говоря, полезно и по многим другим причинам. рекомендуется для этой цели использовать pgpool или pgbouncer.

Про \timing функцию узнал сегодня только=) Порядок такой 1134.020 ms на первый запрос и 0.800 на последующие, что довольно шустро. Ну что ж будем лечить пгпулом. Спасибо
...
Рейтинг: 0 / 0
Тормоза с tsearch2
    #35239937
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
возможно у Вас база запущена под windows на которой запущен антивирус. антивирус может блокировать доступ к файлам на время своей проверки их на вирусы... может быть с этим связана такая задержка на открытие файлов словарей ? ещё возможно у Вас катастрофическая ситуация с памятью - и ОС требуется время что бы прогрузить её часть из/в свап.


--
„Истина — это вовсе не то, что можно убедительно доказать, это то, что
делает всё проще и понятнее“ — Антуан де Сент-Экзюпери
...
Рейтинг: 0 / 0
Тормоза с tsearch2
    #35240977
iz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
iz
Гость
netscripterНу что ж будем лечить пгпулом

лучше все же пгбаунсером. pool_mode = transaction и вперед.
он легковеснее пгпула и занимается только кешированием соединений, что вам именно и нужно.
...
Рейтинг: 0 / 0
Тормоза с tsearch2
    #35241596
netscripter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, надо попробовать pgbouncer, с pgpool как то не совсем удачный был опыт использования его именно как балансера,а как кеширующий коннекты не использовался
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Тормоза с tsearch2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]