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

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

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

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

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

Ты бы сообщил подробности - версию,настройки, выдачу скопируй.
Если несколько раз подряд сделать, то какое время будет ? В первый раз в сессии надо
открыть словари, на это тратится время, не такое как у тебя, но потом все должно летать
...
Рейтинг: 0 / 0
06.04.2008, 20:34
    #35238252
netscripter
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормоза с tsearch2
Версия 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
07.04.2008, 01:58
    #35238471
iz
iz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Тормоза с tsearch2
выдачу нужно было с таймингом приводить :) а то так непонятно, сколько времени какой запрос занял.

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

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

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


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

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


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