Медленная работа при формировании отчетов в терминале.
Модераторы: m0p3e, edward_K, Модераторы
Медленная работа при формировании отчетов в терминале.
Доброго времени суток! Галактика 7.12. Существует проблема: на сервере (IBM) терминалов при формировании отчетов, использующие процесс расчета сальдовых остатков, например «Оборотная ведомость МЦ по партиям», формирование проходит около 3 часов (на локальном ПК около 15 минут). Мониторинг расчета сальдовых остатков SQL трасировщиком показал: на терминале первая тысяча хранимых процедур выполняется за 40 секунд, на локальном ПК – за 3-5 секунд. Найден один способ ускорить работу в 2 раза (до 20 секунд): запустить Support под учеткой, под которой запущена Галка, и в Консоле администратора открыть окна «Мониторинг пользователей» и «Мониторинг модулей». Подскажите в чем может быть проблема ? Как ускорить работу на терминале ?
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Медленная работа при формировании отчетов в терминале.
судя по всему упирается в сеть. Ну еще есть возможность exe, tmp, временные таблицы(и это есть DataBase.UserTablesLocalCache) открывать на локале.
Почему сапорт помогает, это странно - скорей всего последующие процессы формируются быстрее.
Если SQL, то лучше использовать групповые роли SQLDriver.UseSqlRole=On. Опять же хранимки и тмп лучше эпизодически чистить.
Вообще сравните отчет из сервис - конфигуратор - параметры, ну а также запускать процесс нужно под одним и тем же пользователем - только так можно объективно сравнить - возможно еще какие то настройки влияют. По расчету сальдовых остатков вроде как делали расчет на DSQL - но вот не помню - в 712 или уже в 810. Опять же дя SQL можно поиграть с клиентом ОДБС(Native быстрее, а на последних патчах в 9 вообще на нем только и можно работать) или с протоколом(например Named Pipes). Вот еще Network.UpdateTable=off ну и так далее. Вообще рассчитывайте память для терминала исходя из минимум 500 метров на пользователя.
Почему сапорт помогает, это странно - скорей всего последующие процессы формируются быстрее.
Если SQL, то лучше использовать групповые роли SQLDriver.UseSqlRole=On. Опять же хранимки и тмп лучше эпизодически чистить.
Вообще сравните отчет из сервис - конфигуратор - параметры, ну а также запускать процесс нужно под одним и тем же пользователем - только так можно объективно сравнить - возможно еще какие то настройки влияют. По расчету сальдовых остатков вроде как делали расчет на DSQL - но вот не помню - в 712 или уже в 810. Опять же дя SQL можно поиграть с клиентом ОДБС(Native быстрее, а на последних патчах в 9 вообще на нем только и можно работать) или с протоколом(например Named Pipes). Вот еще Network.UpdateTable=off ну и так далее. Вообще рассчитывайте память для терминала исходя из минимум 500 метров на пользователя.
Re: Медленная работа при формировании отчетов в терминале.
Можно про это подробнее (для 9.1)edward_K писал(а):. Опять же дя SQL можно поиграть с клиентом ОДБС(Native быстрее, а на последних патчах в 9 вообще на нем только и можно работать) или с протоколом(например Named Pipes). Вот еще Network.UpdateTable=off ну и так далее. Вообще рассчитывайте память для терминала исходя из минимум 500 метров на пользователя.
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Медленная работа при формировании отчетов в терминале.
Вы про что? на конкретный вопрос может быть получите конкретный ответ.Можно про это подробнее (для 9.1)
По поводу клиента смотрите MS70DRV_DLL_55252.txt
Результат - резкое падение быстродействия при использовании DSQL на обычном клиенте начиная с атлантиса 5.5.24(в разы).* ПЕРВОЕ РЕШЕНИЕ: 5.5.24.0
* КРАТКОЕ ОПИСАНИЕ: IQuery: не отрабатывает запрос, вложенный в цикл по выборке из др. запроса
* ПРОЕКТ: Инструментарий прикладного программиста
* ДЕТАЛИЗАЦИЯ: Прямой SQL
# ЧТО ИЗМЕНЕНО:
DSQL
MSSQL
----- СУТЬ ПРЕДЛОЖЕНИЯ -----
Требуются вложенные запросы DSQL (выполнять второй запрос,
пока результаты первого ещё недовыбраны)
# КАК ИЗМЕНЕНО:
Доработано.
Для драйвера SQL Native Client (SQL Server Native Client 10.0, SQL Server Native Client 11.0) включается режим MARS.
Для драйвера SQL Server используется серверный курсор для всех SELECT'ов на DSQL, что замедлит SELECT'ы, выкачивающие много данных. Рекомендуется использовать SQL Server Native Client для повышения быстродействия.
Клиент идет в составе сервера MSSQL - на самом сервере проблемы не будет. На компы ставите либо с сервера, либо качаете отдельно с microsoft
можете взять отсюда
ftp://ftp.galaktika-it.ru/FTP/pub/Galak ... %20Client/
Обновить можно просто подправив в реестре.
Можно выгрузить ветку и потом регить на всех компах
reg import \\server\galsrv\_Instalator\ODBC.reg
от установки вас правда это может не спасти.
По поводу остального смотрим cfgparam.chm и i_sql.chm(лучше обновить с ftp.galaktika.ru) а также этот и минский форум- ключевые слова я вам написал.
Очень рекомендую держать все cfg на сервере(и лучше по одному на базу +общий Startup.cfg) , а запуск делать бантиком(cmd) также с сервера, а не ярлыком на atlexec - так вы сможете чего нибудь туда прописывать для автоматической установки. И не забываем про чистку мусора. При локальном расположении временых файлов это можно прописать сразу батник(ед. что повторно этот батник не нужно запускать), на сервере воткнуть в планировщик задач раз в неделю чистку.
Код: Выделить всё
set DELDIR=c:\GALAXY\GAL_CLIENTS\
del %DELDIR%*.tmp /Q /S /A:R
del %DELDIR%*.tmp /Q /S /A:H
del %DELDIR%*.tmp /Q /S
Re: Медленная работа при формировании отчетов в терминале.
Кстати, по быстродействию.
После установки обновлений на 9.1 (от 17 июля) у нас сервер (MS SQL), 4 процессора (16 ядер), стал регулярно загружаться на 100 %.
Трудно представить чем (((.
После установки обновлений на 9.1 (от 17 июля) у нас сервер (MS SQL), 4 процессора (16 ядер), стал регулярно загружаться на 100 %.
Трудно представить чем (((.
Re: Медленная работа при формировании отчетов в терминале.
Попробовал с Native. Разницы не увидел.maikl писал(а):Кстати, по быстродействию.
После установки обновлений на 9.1 (от 17 июля) у нас сервер (MS SQL), 4 процессора (16 ядер), стал регулярно загружаться на 100 %.
Трудно представить чем (((.
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Медленная работа при формировании отчетов в терминале.
SQL Native Client нужно указать в настройке одбс соединения на том компе, где работает галактика. И надо заменить старое, а не создавать новое.
Мне и еще куче народа помогло - правда там вагон доработок на DSQL , а они оказались очень чувствительны к 5.5.24(25 еще не ставил).
Насчет загрузки сервера.
1. Диспетчер задач еще никто не отменял - смотрим там где подробно по процессам и сортируем по ЦП.
2. Если это SQL то там есть профайлер - смотрим, какие запросы более всего грузят. с этим в ТП.
3. Попутно пробуем перейти на 5.5.25. в частности на MS70DRV_DLL_55252. Напс наверное можно не переставлять для начала - там свеженькая одна проблема.
Мне и еще куче народа помогло - правда там вагон доработок на DSQL , а они оказались очень чувствительны к 5.5.24(25 еще не ставил).
Насчет загрузки сервера.
1. Диспетчер задач еще никто не отменял - смотрим там где подробно по процессам и сортируем по ЦП.
2. Если это SQL то там есть профайлер - смотрим, какие запросы более всего грузят. с этим в ТП.
3. Попутно пробуем перейти на 5.5.25. в частности на MS70DRV_DLL_55252. Напс наверное можно не переставлять для начала - там свеженькая одна проблема.
Re: Медленная работа при формировании отчетов в терминале.
С напсом вчера из ТП пугали. База может сломаться, суррогантые ключи не так могут сфомироваться, если старый оставить.edward_K писал(а): Напс наверное можно не переставлять для начала - там свеженькая одна проблема.