Тайм-Аут Отчета Служб Reporting Services

У нас есть отчет за 2005 год, который может быть от 2 до 250 страниц со средним значением в 10. Когда отчет был разработан, нашему разработчику сказали, что 10 страниц или около того-правильный номер, и, не очень хорошо зная бизнес-домен, он решил, что reporting services-правильный подход.

теперь, когда отчет был развернут для PROD, у нас есть некоторые жалобы на тайм-аут отчета. Ни разработчик, ни я по этому поводу ужасно не удивлены учитывая сам размер запрашиваемого доклада (250 страниц).

мой вопрос в том, какие варианты мы должны использовать наш текущий отчет, который работает 95% времени и заставить его работать на оставшиеся 5%? Существуют ли параметры конфигурации для повышения производительности рендеринга или что-то в этом роде?

отчет используется для возврата разрешения таким образом, размер возвращает может очень. В каждом разрешении страница имеет 4 разных метки возврата с логотипами и штрих-кодами.

уточнения:

отчет отображается довольно быстро из служб reporting services в Средство просмотра отчетов, но при экспорте в PDF требуется некоторое время для загрузки.

2 ответов


существует параметр тайм-аута выполнения отчета для каждого отчета в SSRS. По умолчанию они настроены на использование системного параметра по умолчанию, но их можно настроить с помощью диспетчера отчетов или SSMS.

вы уверены, что это не тайм-аут команды базы данных? Это может быть скорректировано в строке подключения. Неэффективен ли отчет или запрос? 250 страниц для отчета SSRS действительно не так уж плохо. Мы часто запускаем большие отчеты. SSRS фактически превосходит большинство другие механизмы отчетности мы используем.


вы можете играть с любым из следующих:

1) измените системные свойства SessionTimeout и SessionAccessTimeout.

вот пример сценария для rs.exe, который установит эти значения для вас:

Public Sub Main()
    Dim props() as [Property]
    props = new [Property] () { new [Property](), new [Property]() }

    props(0).Name = "SessionTimeout"
    props(0).Value = timeout

    props(1).Name = "SessionAccessTimeout"
    props(1).Value = timeout

    rs.SetSystemProperties(props)
End Sub 

вы можете запустить этот скрипт с помощью следующей команды:

rs -i sessionTimeout.rss -s http://yourserver.com/reportserver -v timeout="6000"

тайм-аут выражается в секундах, поэтому в этом примере sessiontimeout и SessionAccessTimeouts устанавливаются примерно на час и половина.

(через http://blogs.msdn.com/b/jgalla/archive/2006/10/11/session-timeout-during-execution.aspx)

2) изменить тайм-аут выполнения отчета через Диспетчер отчетов Открыть Диспетчер Отчетов В верхней части страницы щелкните параметры сайта. Откроется страница общие свойства сайта.

Тайм-Аут Выполнения Отчета Укажите, истекает ли время обработки отчета через определенное количество секунд. (через http://msdn.microsoft.com/en-us/library/ms181194.aspx)

3) Установите Httpruntime ExecutionTimeout

  1. откройте веб-сервер ReportServer.файл конфигурации, перейдя в меню Пуск - > администрирование - > информационные службы Интернета.
  2. оттуда разверните веб-сайты - > веб-сайт по умолчанию и нажмите ReportServer. На правой панели щелкните правой кнопкой мыши веб.Config и выберите "Открыть".
  3. найдите HttpRuntime параметр. Если он не существует, вам придется создать его в разделе.
  4. установите значение executionTimeout в ' 10800’ (3 часа), как показано ниже:
<system.web>
    <httpRuntime executionTimeout = "10800" />
</system.web>

4) увеличить время ожидания сценария на сервере отчетов

  1. перейдите на Сервер отчетов и откройте службы Internet Information Services; щелкните правой кнопкой мыши Сервер отчетов и выберите Свойства.
  2. перейдите на вкладку Параметры и установите время ожидания сценария ASP до 300 секунд (это действительно не работает для меня).

5) Установите отчет никогда не тайм-аут на сервере

  1. откройте веб-браузер на сервере и перейдите вhttp://yourserver.com/Reports
  2. перейдите к местоположению отчета и нажмите на отчет(ы) о проблеме.
  3. на левой панели нажмите кнопку Свойства.
  4. в "тайм-аут выполнения отчета "нажмите" Не тайм-аут отчета исполнение.’ (via http://geekswithblogs.net/ssrs/archive/2009/10/30/steps-to-resolve-ssrs-timeout-issues.aspx)