Задержка поиска в Screwturn Wiki

Кто-нибудь знает способы оптимизации функционала поиска винта? Мы использовали его для внутренней документации, и я технический эксперт по нему, но у меня не было возможности подробно его анализировать. После ввода в него большого количества информации мы заметили, что поиск текста происходит с заметной задержкой; в некоторых случаях до 10 секунд. Я вставляю сюда снимок экрана со статусом поискового индекса. У нас есть около 30 различных пространств имен, и я подозреваю, что это больше, чем нам действительно нужно, но было принято решение использовать их в организационных целях, и я не мог придумать, почему бы и нет. Возможно ли, что большое количество пространств имен влияет на время поиска?

При проведении тестов в поиске единственный скачок ресурсов, который я смог обнаружить, - это резкий скачок загрузки ЦП на веб-сервере.

Снимок экрана состояния индекса поиска


person Adam Miller    schedule 12.12.2013    source источник
comment
Какую версию вики Screwturn вы используете? Используется ли здесь стандартное окно поиска {SEARCHBOX} или страница с более продвинутой поисковой системой? Если на странице поисковой системы, какой вариант вы указываете. Это может быть просто отсутствующий индекс в базе данных, который может помочь.   -  person Doug Knudsen    schedule 14.12.2013
comment
Версия вики - 3.0.5.600. Я заметил это как в окне поиска, так и на странице поисковой системы. Если я ограничиваю поиск определенным пространством имен, я заметил, что это улучшает время результата. Я думал об индексе в базе данных, но я думал, что это повлияет на обработку на сервере базы данных, но всплеск ЦП, который я заметил, был на веб-сервере (другой машине, чем сервер базы данных).   -  person Adam Miller    schedule 16.12.2013
comment
Если вы профилируете SQL для одного поиска из исходного вопроса, вы, вероятно, заметите, что веб-приложение очень болтает с базой данных. Наличие большего количества пространств имен для поиска повлияет на производительность поиска из-за способа выполнения поиска (по пространству имен, из того, что я видел, кажется очень неэффективным). Немного просмотрев код, я вижу, где вы можете увидеть скачок на веб-сервере. Лучше всего было бы реорганизовать функцию поиска, чтобы она лучше работала с большим количеством пространств имен.   -  person Doug Knudsen    schedule 18.12.2013
comment
Если вы опубликуете это в качестве ответа, я отмечу это правильно, так как это лучшее из того, что у нас есть на данный момент.   -  person Adam Miller    schedule 31.12.2013


Ответы (1)


Если вы профилируете SQL для одного поиска из исходного вопроса, вы, вероятно, заметите, что веб-приложение очень болтает с базой данных. Наличие большего количества пространств имен для поиска повлияет на производительность поиска из-за способа выполнения поиска (по пространству имен, из того, что я видел, кажется очень неэффективным). Немного просмотрев код, я вижу, где вы можете увидеть скачок на веб-сервере. Лучше всего было бы реорганизовать функцию поиска, чтобы она лучше работала с большим количеством пространств имен.

person Doug Knudsen    schedule 01.01.2014