Разница в производительности вложенного отчета между SSRS и BIDS

У меня есть отчет в SSRS, который содержит два подотчета, но отображение окончательного отчета занимает очень много времени. Согласно журналу выполнения SSRS, отчет тратит примерно 140 мс на получение данных, примерно 20 минут на обработку и примерно 20 мс на рендеринг. Если я удалю любой из подотчетов (неважно, какой), время обработки уменьшится до ~10 минут. Если я удалю оба подотчета, время упадет до ~ 2 с. Совершенно очевидно, что мне нужно что-то делать с подотчетами; наверное попробуй интегрировать их в основной отчет.

Представляет ли статистика «TimeDataRetrieval» в журнале выполнения совокупное время извлечения данных для отчета и всех подотчетов или только для основного отчета (это означает, что время извлечения данных для подотчетов фактически добавляется к статистике «TimeProcessing») ?

Кроме того, когда я запускаю основной отчет в BIDS (Visual Studio), весь отчет возвращается через пару секунд. Почему отчет + 2 подотчета полностью отображаются в BIDS за пару секунд, а при просмотре с сервера отчетов то же самое занимает около 20 минут? Оба они обращаются к одной и той же базе данных SQL (извлечение данных с сервера SSRS занимает всего 140 мс), а сервер SSRS/SQL должен иметь достаточную мощность (работает на 8-ядерной виртуальной машине, которая не нарушает 1% использования ЦП).


person Adam Dunn    schedule 06.12.2012    source источник
comment
Можете ли вы запустить подотчет самостоятельно (например, из ReportViewer), а затем проверить TimeDataRetrieval? Кроме того, есть ли какие-либо параметры для подотчетов? Если параметры изменились с момента первого развертывания, версия BIDS может иметь обновления, но развернутая версия еще не получила их (поскольку повторное развертывание не изменит настройки параметров).   -  person Jeroen    schedule 07.12.2012
comment
TimeDataRetrieval для любого подотчета составляет ~ 2 с (при ~ 700 строках в основном отчете, будет ли это означать, что общее время выполнения = 700 * 2?). Для каждого подотчета есть только один параметр, но они не изменились. Мой метод развертывания заключается в том, чтобы перейти на server/Reports и нажать "Загрузить файл", а затем загрузить файл rdl. Вынуждает ли это обновлять параметры развернутой версии?   -  person Adam Dunn    schedule 07.12.2012
comment
Не уверен, но думаю, что не будет (аналогично ситуации из моего ответа здесь). Но если подотчеты сами по себе быстро запускаются из средства просмотра веб-отчетов, то, похоже, дело в чем-то другом. Вы пытались удалить отчеты на сервере и повторно развернуть их с нуля?   -  person Jeroen    schedule 07.12.2012
comment
Удалил основной отчет и два подотчета с помощью браузера отчетов на сервере, затем загрузил три файла rdl с помощью браузера отчетов. До сих пор бежит около 15 минут. Я дважды проверил соединения БД между сервером SSRS и BIDS, и они одинаковы.   -  person Adam Dunn    schedule 07.12.2012
comment
Тогда у меня нет идей. Похоже, что может быть проблема, очень специфичная для вашей ситуации. Binary-search-debug-session может быть вашим последним оставшимся вариантом.   -  person Jeroen    schedule 07.12.2012
comment
@AdamDunn, вам удалось решить проблему с производительностью? У меня есть несколько вопросов: проверили ли вы, что значения параметров совпадают между вашим тестированием и развертыванием для ВСЕХ трех отчетов? BIDS кэширует набор результатов, если параметры и набор результатов не изменяются. Возможно, именно поэтому производительность BIDS намного выше. Пробовали ли вы снова запускать BIDS после удаления файла ‹reportname›.data?   -  person dev_etter    schedule 12.02.2013
comment
@AdamDunn также, пробовали ли вы развернуть на сервере только основной отчет и сравнить производительность, затем только один из подотчетов, а затем другой, чтобы попытаться определить, вызывает ли проблему только один из отчетов?   -  person dev_etter    schedule 12.02.2013
comment
@AdamDunn немного информации о TimeDataRetrieval и других показателях SSRS: keepitsimpleandfast.com/2011/07/   -  person dev_etter    schedule 12.02.2013