Страница 1 из 1

gtdserv

Добавлено: Вт апр 08, 2008 12:03
W0LF
Периодически gtdserv.exe начинает занимать 100% ресурсов процессора сервера. соответственно клиенты начинают требовать запустите gtdserv, зависают подключения к серверу и т.д. Запускается через xyntservice.exe. Помогает перезагрузка. Логи событий чисты. Как можно исправить?

Добавлено: Пт апр 11, 2008 10:19
AndrewT
Если большая база документов и несколько человек производят поиск по всем документам, то это может вызывать 100% загрузку ГТД сервера (при поиске фактически происходит полное чтение всех файлов). В общем мы рекомендуем для больших объемов использовать SQL сервер. Он выдерживает нагрузку более 100 одновременно работающих декларантов и базу в 100 тыс. документов.
Также можно просить декларантов искат только внутри своих папок, а не по всем папкам - это существенно ускоряет поиск.

Добавлено: Пт апр 25, 2008 19:16
VladV
А можно сделать поиск отдельным потоком (thread-ом) с низким приоритетом?
Если пользователь прерывает поиск или отключается от сервера, то соответствующий поток прибивается.

Добавлено: Вт апр 29, 2008 18:42
AndrewT
Может и можно, только в потоке придется все обращения в функциям среды синхорнизировать. Как известно функции Windows нереентерабельны.
В общем SQL делает это на порядок быстрее. У нас есть реальные клиенты, где 100+ рабочих мест одновременно работают, причем 50 работают по Интернету из другого места. Проблем с поиском никаких - все достаточно быстро. И это на базе в сотни тысяч документов.

Добавлено: Вт апр 29, 2008 19:55
VladV
А можно хотя бы сделать поиск ГТД по определенному полю?
Т.е. например, я знаю только кусок описания товара - хочу поиск только по 31 графе.
А если знаю только инвойс, то только по 44й.

И еще хочется кроме поиска "только зарегистрированных" иметь наоборот, поиск "только незарегистрированных". Т.е. мне надо что-то найти в новых декларациях, и совсем нет нужды напрягать ГТД-Сервер.

Добавлено: Вт апр 29, 2008 21:23
Nick
Поиск по полю сделать сложнее, чем сплошной - для этого надо загрузить каждую ГТД в память как структурированный документ. А так он тупо ищет по ней как по текстовому файлу.

Вместо поиска "незарегистрированных" достаточно сделать отсечку по дате редактирования (например за последнюю неделю). Это действительно облегчает работу сервера.

P.S. Вряд ли сейчас мы будем что-то делать по переделке ГТД-сервера, вместо этого предлагаем крупным клиентам переходить на базу MS SQL. Там работа с большими списками (в т.ч. тот же поиск) идёт заметно быстрее, засчёт индексов.