Вход | Регистрация


1С:Предприятие ::

Метки: 

+ MS SQL Server: Загрузка сервера при выполнении запроса

Я
   Петрович 2018
 
06.12.17 - 12:43
Как можно выполнить запрос таким образом, чтобы это минимально отражалось на скорости работы других пользователей? Лабаю сложный аналитический отчёт на рабочей базе (не спрашивайте, так надо), и при выполнении сложного запроса сильно тормозится работа пользователей. Можно ли как-то снизить приоритет выполнения моего запроса? Пусть он работает дольше, но не тормозит работу пользователей. Реально такое?
 
 
   shadow_sw
 
1 - 06.12.17 - 12:46
в тестовой работать не учили?
   Петрович 2018
 
2 - 06.12.17 - 12:48
(1) Лабаю сложный аналитический отчёт на рабочей базе (не спрашивайте, так надо)
   ИТ директор
 
3 - 06.12.17 - 12:48
А почему ты думаешь что именно SQL Server тормозит юзеров, а не rphost?
   Петрович 2018
 
4 - 06.12.17 - 12:52
(3) хз, может и rphost. Но, судя по моим запросам, думаю, они действительно долго выполняются на sql сервере.
   lodger
 
5 - 06.12.17 - 12:56
(2) выселиться тебя из сервера - единственный вариант решения такой задачи.
из-за кроссплатформенной всеядности 1ски, механизмов управления процессом общения с субд нет.
если тебе не так уж и важна производительность и скорость исполнения, то почему ты еще не делаешь это на локальной копии? ну не хошь файловую - разверни себе сервер.
   ИТ директор
 
6 - 06.12.17 - 12:58
По идее наверно как-то можно с помощью ТНФ вынести выполнение своего отчета на отдельный сервер 1С в кластере.

PS Вопросы идиотские как и сам подход.
   Петрович 2018
 
7 - 06.12.17 - 13:04
(5) (6) Сегодня - так. У меня нет выбора. ((
   lodger
 
8 - 06.12.17 - 13:05
(7) работай ночами.
   pessimist
 
9 - 06.12.17 - 14:45
(0)
1. Понять каким местом система тормозит (память, IOPS, процессор. И добавить то чего не хватает.
2. Лабать сложный аналитический отчёт на другой базе или по ночам.
   Tateossian
 
10 - 06.12.17 - 15:01
(0) В SQL есть панель отчетов стандартная. Там есть такой раздел "Транзакции, блокирующие работу" или как-то так. Еще там есть история. Если ваш запрос среди этих, тогда ищите в списке. Еще можно посмотреть ТОП-10 по среднему расходу по ЦП и по памяти, там можно посмотреть, входит ли он в топ-10. Если да, тогда искать способы оптимизации, возможно, структуру хранения. Но по факту никак не должно влиять, так как 1С для запросов вне транзакций, а равно для вывода в отчет использует грязное чтение, используя инструкцию WITH NO LOCK. У меня в свое время был мега отчет (правда, в нем были структурные ошибки), в нем было декартово произведение очень большое, но формирование отчета не влияло на работу других пользователей. Только сам формирующий мог минут по 10-15 ждать результата.
 
  Рекламное место пустует
   Петрович 2018
 
11 - 06.12.17 - 15:04
(10) У меня много запросов в пакете, много временных таблиц, много выборки. Расчётов и объединений не очень много.
   ИТ директор
 
12 - 06.12.17 - 15:11
Обычно для скуля не проблема выполнить большой запрос и отдать данные. А вот rphost надуется и лопнет (ну может и не лопнет, но у всех юзеров которые висят на нем случатся тормоза). Единственный вариант распределить загрузку в случае с 1С - с помощью ТНФ вынести нагрузку на отдельный рабочий сервер 1С.
   Seriy_Volk
 
13 - 06.12.17 - 15:13
(0) Если других вариантов нет и MS SQL крутится не на одноядерном процессоре, то можно попробовать поменять в свойствах SQL сервера в разделе "Дополнительно" параметр "максимальная степень параллелизма" с "0" на "2" и посмотреть на результат. У нас это значение равно число доступных ядер/4, полет нормальный. При 0 значении параметра изредка бывали случаи, когда пользователь своими настройками какого-нибудь мега отчета вгонял сервер в глубокую задумчивость.
   Петрович 2018
 
14 - 06.12.17 - 15:14
(13) Спасибо! Сейчас гляну..
   Tateossian
 
15 - 06.12.17 - 15:16
(11) В рамках пакета создаются и используются одни и те же временные таблицы. Там все сразу видно и профайлером и панелью мониторинга. А много выборки - это пальцем в небо.
   aka MIK
 
16 - 06.12.17 - 15:17
(11) очищай ВТ через УДАЛИТЬ по ходу запроса, может они просто забивают кеш

В крайнем случаю репликация БД в базу для отчетов, ну или кластер серверов
   aka MIK
 
17 - 06.12.17 - 15:18
Ну и оптимизируй запрос конечно, чем быстрее он отработает тем лучше всем )
   Tateossian
 
18 - 06.12.17 - 15:22
(16) Сто процентов ошибка в архитектуре. Это изврат создавать базы для отчетов.

(16) В кэше не хранятся результаты запросов. В кэше хранятся ПЛАНЫ. А очистка только освобождает память.
   Петрович 2018
 
19 - 06.12.17 - 15:24
(16) Очищаю.
   ИТ директор
 
20 - 06.12.17 - 15:27
Вообще сложный аналитический отчет и 1С это вещи несовместимые. Для этих целей используют OLAP.
   H A D G E H O G s
 
21 - 06.12.17 - 16:19
Сложный аналитический отчет и 1С - вещи совместимые, если вместо ссылок выводить представления ссылок.
   H A D G E H O G s
 
22 - 06.12.17 - 16:20
(0) Запрос для отчета не должен выполняться дольше нескольких секунд, вы в курсе этого?
   D3O
 
23 - 06.12.17 - 16:29
(22) поддерживаю. если долго шпилится запрос - значит что-то не так с запросом. анализ плана выполнения запроса может подсказать очень многое.
   ИТ директор
 
24 - 06.12.17 - 16:31
(21) Вы щас какую-то банальщину сказали...
   H A D G E H O G s
 
25 - 06.12.17 - 16:42
(24) Забейте, не важно.
   mistеr
 
26 - 06.12.17 - 17:50
Кстати, интересная тема - управления ресурсами скуля из 1С. Запросы действительно *могут* быть долгими и ресурсоемкими. Пусть это будет не отчет, а рег. задание. Тот же расчет себестоимости, например. ЕМНИП, в последних версиях платформы появилась возможность прикрепить юзера к рабочему процессу. А значит, теоретически можно задействовать Resource Governor для всех соединений этого процесса. Если разработчики платформы подсуетятся и добавят поддержку. А может, уже? Есть кто в теме? (Особенно к ежикам вопрос :)



Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует