Я думаю многие сталкивались с проблемой, когда неожиданно отчеты начинали работать с большой задержкой. Есть две возможности повлиять на поведение SQL Server Reporting Services относительно этой проблемы.
Первая – это установка соответствующего значения опции Recycle Time в конфигурационном файле для Reporting Services.
Этот конфигурационный файл находится в каталоге, в который был установлен SSRS, обычно это C:\Program Files\Microsoft SQL Server\MSRS12.MSSQLSERVER\Reporting Services\ReportServer\rsreportserver.config (для собственного режима) или
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\WebServices\Reporting\rsreportserver.config (для режима интеграции с SharePoint). Опция Recycle Time задает в минутах (значение по умолчанию 720) время очистки домена приложений, т.е. через сколько минут Reporting Services очистит ресурсы, выделенные для отчетов. Это значение может быть увеличено, чтобы позволить SSRS удерживать ресурсы на более длительный период для предотвращения замедления старта отчета из-за повторной инициализации ресурсов службы Reporting Services.
Рекомендую обратить внимание на этот параметр особенно в тех случаях, если у вас территориально распределенная организация и очистка домена приложений может негативно сказаться на работе филиалов.
Второе решение проблемы с задержками работы отчетов – это управление доступной для сервера отчетов памяти.
У большинства организаций Reporting Services устанавливается не на отдельный сервер, а вместе с какими-нибудь другими службами. В этом случае в течении рабочего дня пока Reporting Services загружен ему выделяется достаточно памяти. Но как только наступает время простоя (например, ночью) операционная система может отобрать у сервера отчетов ресурсы. Решить эту проблему можно добавлением оперативной памяти, но не всегда это возможно. Другим решением может быть настройка периодического выполнения какого-нибудь отчета, чтобы сервер отчетов не простаивал. Но лучше всего провести настройку минимального значения используемого объема оперативной памяти.
Указанная опция называется WorkingSetMinimum, задается в килобайтах и не включена по-умолчанию в конфигурационный файл. Для определения необходимого значения рекомендуется понаблюдать за процессом Reporting Services (ReportingServicesService.exe).
В приведенном примере ReportingServicesService.exe использует 46,772Kb оперативной памяти. Мы можем округлить это значение до 50,000Kb и добавить соответствующий параметр в конфигурационном файле
‹Service›
…
…
‹WorkingSetMinimum›50000‹/WorkingSetMinimum›
…
…
Но не забывайте, что такая принудительная выемка оперативной памяти из работы может негативно сказаться на других приложениях/службах, работающих на этом сервере, при большом объёме задействованной памяти. Проводите периодический мониторинг производительности.
Автор: Андрей Коршиков
*** *** *** *** *** *** *** *** *** *** *** ***
Полезные Скрипты
Рубрика Проверь себя
Ссылка на наш канал YouTube
Рекомендуем ознакомиться с другими темами по SQL Server Reporting Services тут