Падение производительности в построителе отчетов

1. AskezaMax 16.10.19 12:24 Сейчас в теме
Добрый день, коллеги!
Сегодня столкнулся с необычным падением производительности в работе построителя отчета. Ситуация следующая:
1. Старый сервер, на котором сейчас работают все пользователи и на котором больше данных.
- Выводит отчет за 7 секунд.
2. Новый сервер, на который был произведен тестовый перенос базы неделю назад. Один пользователь в базе. Более мощное железо. Стандартные настройки SQL + 1C.
- Выводит тот же отчет с теми же параметрами за 23 секунды...

Платформы одинаковые: 1С:Предприятие 8.2 (8.2.16.368)
Обычное приложение.
Конфигурация не типовая.


При замере производительности выяснилось, что на новом сервере два обращения к построителю отчетов занимают по 11 секунд, в то время, когда на старом всего 1-2 секунды.


Даже при проверке построителя через отладчик (shift+f9) происходит какая-то пауза секунд в 10.

Сам вопрос:
Кто-нибудь сталкивался с подобным поведением построителя? Если да, то как вы это решили?
Заранее благодарен за любые советы и полезную информацию!
По теме из базы знаний
Найденные решения
10. AskezaMax 17.10.19 17:39 Сейчас в теме
Всем спасибо за информацию. Проблема решилась после нескольких процедур, а именно:
1. Тестирование и исправление с реиндексацией таблиц и пересчетом итогов.
2. Настройка взаимодействия 1С и SQL через Shared Memory - без сети через участок памяти. Видимо, не все идеально было при передаче по сети.
3. Прочие нюансы, которые настраивал системный администратор со стороны нового сервера. Всего что он менял не знаю. Были какие-то нюансы с размером блока диска с базой и т.д.

Теперь тот же отчет строится не 23 секунды, а 4. Как-то так...
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. FIERYLIONS 222 16.10.19 13:00 Сейчас в теме
Возможно дело не в постоителе отчетов?
Сколько выполняются другие отчет допустим на скд (большие)?
Птаформа настройки SQL идентичны на серверах?
Индексирование таблиц произведено?
3. AlexandrSmith 69 16.10.19 14:52 Сейчас в теме
(2) Добавлю только

https://infostart.ru/public/193674/

https://infostart.ru/public/91879/

Как ни странно, но вторая ссылка очень помогла в свое время в борьбе с зависаниями при таком же переезде.

Проверьте частоту выполнения фоновых заданий и количество их в базе.
4. AskezaMax 16.10.19 14:58 Сейчас в теме
(3) Спасибо, ознакомлюсь.
Но дело в том, что в тестовой базе сейчас работает один-две пользователя, которые тестируют ее. На момент проверки отчета - только один.
А фоновые задания полностью отключены, чтобы обмен и прочие выгрузки реальной базы не испортить "левыми" пакетами.
6. Sapiens_bru 4 16.10.19 15:41 Сейчас в теме
(4) Не надо знакомится. То что там описано устарело с выходом 8.3
8. AlexandrSmith 69 16.10.19 15:47 Сейчас в теме
(6) Странно, а мне в 8.3 и помогло.

Вы уверены, в своих выводах.
11. Sapiens_bru 4 17.10.19 18:53 Сейчас в теме
(8) Абсолютно. В 8.3 начиная с версии платформы 8.3.3 (и базы в режиме совместимости 8.2.16 и выше ) режим rcsi( Read Commited Snapshot Isolation) включен по умолчанию. Естественно только для управляемых блокировок.

Режим SNAPSHOT в принципе никогда не использовался в 1С, так что его включение бесполезно.

Вам включение rcsi могло помочь только если конфигурация у вас в режиме совместимости 8.2.13 и ниже.
9. AlexandrSmith 69 16.10.19 15:50 Сейчас в теме
(6) На всякий случай проверьте в свойствах базы

Установлено ли так

ALT ER DATABASE MyDatabase
SET ALLOW_SNAPSHOT_ISOLATION ON

ALT ER DATABASE MyDatabase
SET READ_COMMITTED_SNAPSHOT ON

У меня пользователи резко перестали жаловаться ежедневно
12. Sapiens_bru 4 17.10.19 19:03 Сейчас в теме
(9) Проверить факт включения rcsi для базы можно и проще. Открыть в ssms свойства базы и в параметрах найти
Is read commited snapshot on
Если Истина - все норм.
Если ложь и у вас база в режиме совместимости 8.2.13 и ниже либо платформа 8.2 - можно тут же поставить Истина. Блокировок станет меньше.

Кстати сам по себе этот режим при первой установке замедлит работу в базе. Не сильно но на несколько процентов - десятков процентов. Это продлиться до первой реструктуризации индексов. Надеюсь она у вас еженедельная?
Впрочем если вы прошаренный спец по настройке скуля под 1с и у вас FillFactor под индексы стоит не ноль - вас и это замедление не коснется.

Зы. Не утихают споры - является ли установка rcsi нарушением лицензионного соглашения с 1С.
13. AlexandrSmith 69 17.10.19 21:00 Сейчас в теме
(12) Нет совершенно точно проверял и пересоздавал базу на сервере. Вы не правы, автоматически не устанавливается. То есть как минимум есть одна ситуация когда это не так.
14. AlexandrSmith 69 17.10.19 21:20 Сейчас в теме
(12) И совершенно точно автоматически ну устанавливается правильная настройка баз вплоть до версии 8.3.13. По крайней мере на одном сервере на моей работе, а значит у миллиона пользователей есть такие же проблемы. Четко перепроверил. Так что не бойтесь сомневаться в вашей "абсолютной уверенности".
7. AlexandrSmith 69 16.10.19 15:44 Сейчас в теме
(4) Еще есть такая вещь как статистика MS SQL Server

Когда MS SQL Server нарабатывает статистику, он начинает правильно связывать запросы.

Не буду приводить запросы, которые упрощает MS SQL Server, но конкретно повышается скорость.

Вообще статистика запросов MS SQL Server - практически искусственный интеллект.

Не думаю, что в вашем случае стоит ждать накопления статистики, но вдруг...

Попробуйте запустить План выполне́ния запро́са на обоих серверах и посмотрите на разницу.
5. AskezaMax 16.10.19 15:00 Сейчас в теме
(2) Об индексировании тоже подумал - запустил несколько часов назад. Скоро должно завершиться (база большая).
Другие отчеты отрабатывали получше, без таких серьезных заминок. Сейчас не с чем сравнить, так как все еще идет ТИИ и база занята.
10. AskezaMax 17.10.19 17:39 Сейчас в теме
Всем спасибо за информацию. Проблема решилась после нескольких процедур, а именно:
1. Тестирование и исправление с реиндексацией таблиц и пересчетом итогов.
2. Настройка взаимодействия 1С и SQL через Shared Memory - без сети через участок памяти. Видимо, не все идеально было при передаче по сети.
3. Прочие нюансы, которые настраивал системный администратор со стороны нового сервера. Всего что он менял не знаю. Были какие-то нюансы с размером блока диска с базой и т.д.

Теперь тот же отчет строится не 23 секунды, а 4. Как-то так...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот