2009-04-15 5 views
5

Мы испытываем медленное время запуска первого запроса на отчет дня или когда не было запросов на отчет в течение неизвестного периода времени. В установках SQL Reporting Server 2005 мы создали бы пул приложений, чтобы избежать повторного использования приложений Reporting Services.Медленный запуск SQL Reporting Services 2008 в основном режиме

Однако мой клиент установил SQL Reporting Server 2008 на Windows Server 2008 в основном режиме. Я не могу установить IIS-установку. Я проверил параметры конфигурации службы отчетов SQL, файлы справки и форумы и не нашел решения для этой проблемы в собственной установке.

Как я могу контролировать рециркуляцию приложения Reporting Services при установке в основном режиме?

ответ

13

Я не нашел параметр, на который ссылается запрос tcc. Однако его ответ заставил меня задуматься о существовании файла конфигурации; Я нашел страницу, которая была подробно о содержании:

MSDN: How to: Modify a Reporting Services Configuration File

В нем я нашел параметр RecycleTime. По умолчанию он равен 720, который чувствует себя как 20 минут или около того потребовалось время. Я установил его на 28800.

Я заново запустил службу служб Reporting Services и получил доступ к сайту. Потребовалось обычную минуту или две, чтобы подойти и в течение этого времени сервер работал тяжело. Теперь это мгновенно; Я буду тестировать в течение дня, чтобы убедиться, что это позволяет службам отчетов перерабатывать процесс и восстанавливать каждые 20 минут и сообщать об этом на этот сайт.

+0

Это, похоже, решило мою проблему. – jlo

+1

Параметр находится в минутах. 28800 = 480 часов! http://msdn.microsoft.com/en-us/library/ms157273.aspx –

+0

Большое вам спасибо. Это также помогает (мне нужны были оба) http://stackoverflow.com/questions/784918/asmx-web-service-slow-first-request/784947#784947 – Praesagus

1

Я считаю, что решение состоит в том, чтобы добавить ключ ProcessTimeout в файл rsreportserver.config. Этот ключ находится в этом файле по умолчанию, но он закомментирован. Я не уверен, что это минуты или секунды, но я изменил его до 28800, и этот процесс продолжал работать первым утром после того, как он не работал более 12 часов. Первый отчет загружен за несколько секунд.

Файл находится в ~/файлы программы/службы Microsoft SQL Server/msrs10.mssqlserver/отчетность/ReportServer

Я также изменил 7200 в этом файле.

0

SQL Server 2008 не использует IIS, поэтому параметр RecycleTime перемещается в конфигурационный файл RS. Это также означает, что вы можете установить сервер отчетов на свой сервер базы данных для повышения производительности без установки IIS.

По умолчанию RecycleTime по умолчанию 720 (12 часов) должен быть разумным для сервера отчетов, который активен только в обычные рабочие часы. Тем не менее, у меня такая же проблема, хотя я планирую подписку на отчет, чтобы работать в 7:30 утра каждый будний день, чтобы заставить сервер отчетов инициализироваться в течение дня.

Мне интересно, действительно ли параметр RecycleTime указан в минутах или если это может быть ошибка документации. Я собираюсь попробовать большую ценность.

0

Я запускаю SQL Server 2008 R2, и в моем rsreportserver.config есть две настройки, которые я раскоментировал и настроил. Мои значения приведены ниже:

<Add Key="ProcessTimeout" Value="4320" /><!-- seconds --> 
<Add Key="ProcessTimeoutGcExtension" Value="30" /><!-- seconds --> 

На момент написания этой статьи, эти конфигурационные элементы are not documented в документации MSDN для RSReportServer.конфиг файл для SQL Server 2008 R2, однако есть KB article, который кратко описывает их под Больше информации:

Есть две настройки конфигурации, которые определяют, как долго Process Monitor ожидает обслуживания деятельности до остановки обслуживание. Эти параметры определяются следующим образом:

  1. ProcessTimeout
    Это параметр относится к любой операции, которая Reporting Services является выполнения.
  2. ProcessTimeoutGcExtension
    Этот параметр применяется только в том случае мусора продолжается, и значение ProcessTimeout было достигнуто.

Использования настройки ProcessTimeout сохранил мой экземпляр SSRS просыпается, и установив параметр RecycleTime на достаточно большую величину (в моем случае 30 дней, или 43,200 секунды) помог предотвратить обязательную рециркуляцию, который понесен, когда это промежуток времени истекает.

0

Установив RecycleTime на 28800, вы увеличиваете время между медленными запусками. Потребуется время для первого отчета, который будет запущен через 480 часов. Вы можете установить RecyleTime на 0, чтобы остановить его переработку, если это поможет.

Если это не вариант, вы можете сохранить его живым целым рядом методов, таких как:
1.) Планирование фиктивный отчет в веб-сайте SSRS Report Manager (Мой Одобренный подход)
2.) Scheduled Script

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