Гость
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Ускорить загрузку первичной странички в SSRS / 9 сообщений из 9, страница 1 из 1
11.06.2020, 11:45
    #39968167
medoed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорить загрузку первичной странички в SSRS
Доброго дня, всем!
Есть такой трабл, наверное больше как к сервису вопросы. Отчет работает пару секунд, но с параметрами по умолчанию страница и загрузка данных появляется секунда через 15-20. Сначала внизу страницы пишет определение хоста, как будто какая то безопасность проверяется в браузере, потом сам отчет подгружается - это да за 2-3 секунды проходит.
Сам сервер на котором находится отчет SSRS и СУБД находятся в корпоративном домене, как и компm.nth на котором просматривается отчет.

Можно как то ускорить это загрузку в браузере отчетов?
...
Рейтинг: 0 / 0
11.06.2020, 12:50
    #39968201
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорить загрузку первичной странички в SSRS
medoed,

вариантов хватает, смотря что, универсального рецепта нет.

1) проверка на каком этапе тормозит (получение данных, генерация отчёта, форматирование)

2) кэширование отчётов (и прогрев кэша по утрам под контекст безопасности, настройка кэширования, не всегда приемлемо в зависимости от скорости обновления данных в источнике)

3) настройка параметров по умолчанию чтобы они выдавали минимально данных (не всегда подходит из-за специфики бизнес-требований)
или оставить не выбранный параметр (отчёт не будет автоматически генерироваться пока пользователь не выберет)

в этой-же категории оптимизация самих запросов (в зависимости где тормозит, эффективно если на первом этапе пункта {1})
хотя для первого этапа проблема может быть и из-за медленной сети между sql источником и ssrs

или упрощение/оптимизация отчёта {этап 2} напр. перенос join-ов и агрегирования/расчётов на сторону sql вместо того чтобы получать большие dataset с делать это на стороне ssrs
или чистка/оптимизация форматирования {этап 3}


разгрузка сервера если сильно занят и не хватает расчётных мощностей (слишком большая очередь запросов отчётов от пользователей),
качество/пропускная способность сети (большие потери пакетов, медленная скорость) и т.д. и т.п.
...
Рейтинг: 0 / 0
11.06.2020, 13:09
    #39968213
medoed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорить загрузку первичной странички в SSRS
vikkiv,
Спасибо! Сделал тестовый пример, который вообще две строчки выдает из процедуры, сама процедура отрабатывает за 0.1 секунду в SQL. В SSRS же идёт загрузка страницы в браузере и подпись внизу- определение хоста. Потом какой то редирект срабатывает и сам запрос быстро подгружается. Вопрос, что делается эти первые 7-мь секунд первых SSRS?
...
Рейтинг: 0 / 0
11.06.2020, 13:30
    #39968222
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорить загрузку первичной странички в SSRS
medoed


Можно как то ускорить это загрузку в браузере отчетов?


выполни на базе ReportServer и посмотри на что тратится время

история выполнения
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
select 
		els.UserName
	,isnull(c.Name,'[absent report]') [Name]
	,isnull(c.Path,'') [Path]
	,CASE(els.RequestType)
		WHEN 0 THEN 'Interactive'
		WHEN 1 THEN 'Subscription'
		WHEN 2 THEN 'Refresh Cache'
		ELSE 'Unknown'
	END AS RequestType
	,dateadd(hh,datediff(hh,'20100101',els.TimeStart),'20100101') [Minute]
	,els.TimeStart
	,els.TimeEnd
	, Case When datediff(ss,els.TimeStart,els.TimeEnd) >= 86400  
		     Then Convert(VarChar(5), datediff(ss,els.TimeStart,els.TimeEnd)/86400) + ' days '   
     Else '' End  
	     + Convert(VarChar(10), DateAdd(ss, datediff(ss,els.TimeStart,els.TimeEnd), 0), 108) [Duration]

	,els.TimeDataRetrieval
	,els.TimeProcessing
	,els.TimeRendering
	,els.ExecutionId
	,els.Status 
	,els.Format
	,CASE(els.ReportAction)
		WHEN 1 THEN 'Render'
		WHEN 2 THEN 'BookmarkNavigation'
		WHEN 3 THEN 'DocumentMapNavigation'
		WHEN 4 THEN 'DrillThrough'
		WHEN 5 THEN 'FindString'
		WHEN 6 THEN 'GetDocumentMap'
		WHEN 7 THEN 'Toggle'
		WHEN 8 THEN 'Sort'
		WHEN 9 THEN 'Execute'
		WHEN 10 THEN 'RenderEdit'
		ELSE 'Unknown'
	END AS ItemAction
	,case(els.Source)
		when 1 then 'Live'
		when 2 then 'Cache'
		when 3 then 'Snapshot'
		when 4 then 'History'
		when 5 then 'Ad-Hoc'  /*from Report Builder*/
		when 6 then 'Session' /*another request within existing session*/
		when 7 then ' RDCE' /*Report Definition Customization Extension*/
		end [Source]
	,els.Parameters
	,els.AdditionalInfo
from ExecutionLogStorage  els
left join Catalog c on els.ReportID=c.ItemID 

order by els.TimeStart asc

...
Рейтинг: 0 / 0
11.06.2020, 13:40
    #39968227
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорить загрузку первичной странички в SSRS
medoed
vikkiv,
Спасибо! Сделал тестовый пример, который вообще две строчки выдает из процедуры, сама процедура отрабатывает за 0.1 секунду в SQL . В SSRS же идёт загрузка страницы в браузере и подпись внизу- определение хоста . Потом какой то редирект срабатывает и сам запрос быстро подгружается. Вопрос, что делается эти первые 7-мь секунд первых SSRS?


отработка "в SQL" не показатель, возможна ситуация когда "быстро в студии, медленно в программе"
ссылки :
https://www.mssqltips.com/sqlservertip/4318/sql-server-stored-procedure-runs-fast-in-ssms-and-slow-in-application/
http://www.sommarskog.se/query-plan-mysteries.html

про "определение хоста": попробуйте обращаться к ssrs по ip вместо hostname
...
Рейтинг: 0 / 0
11.06.2020, 13:57
    #39968235
medoed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорить загрузку первичной странички в SSRS
komrad,
Спасибо Вам за советы, вы как обычно выручаете. Стыдно в этом признаться, но у меня прав нет нa базу репортинга и профайлера, так как не вхожу в роль sysadmin.
Но я покурю доку, как нибудь попрошу админа выдать права на пол часа и все скрипты прогоню.
...
Рейтинг: 0 / 0
11.06.2020, 14:06
    #39968242
medoed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорить загрузку первичной странички в SSRS
komrad

http://www.sommarskog.se/query-plan-mysteries.html

про "определение хоста": попробуйте обращаться к ssrs по ip вместо hostname

Попробовал тоже самое. Надо наверное админа помучить, может что то с доменной авторизацией и проверкой по доступам долго проходит... Кстати, когда из VS превью - то все быстро открывается...
...
Рейтинг: 0 / 0
11.06.2020, 14:12
    #39968246
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорить загрузку первичной странички в SSRS
medoed
komrad

http://www.sommarskog.se/query-plan-mysteries.html

про "определение хоста": попробуйте обращаться к ssrs по ip вместо hostname

Кстати, когда из VS превью - то все быстро открывается...

превью один раз берет данные, записывает рядом с отчетом в файл .data и потом читает только из него

еще есть такая штука как RecycleTime
по умолчанию она выставлена на 720
чтобы ускорить отзывчивость SSRS по утрам или после простоя, можно выставить в 0

rsreportserver.config<RecycleTime>720</RecycleTime>

https://www.mssqltips.com/sqlservertip/2735/prevent-sql-server-reporting-services-slow-startup/
...
Рейтинг: 0 / 0
15.06.2020, 18:48
    #39969495
medoed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ускорить загрузку первичной странички в SSRS
komrad
medoed
пропущено...

Кстати, когда из VS превью - то все быстро открывается...

превью один раз берет данные, записывает рядом с отчетом в файл .data и потом читает только из него

еще есть такая штука как RecycleTime
по умолчанию она выставлена на 720
чтобы ускорить отзывчивость SSRS по утрам или после простоя, можно выставить в 0

rsreportserver.config<RecycleTime>720</RecycleTime>


https://www.mssqltips.com/sqlservertip/2735/prevent-sql-server-reporting-services-slow-startup/

Попробовал у себя локально - помогло. Думаю и на серваке в домене будет быстрее работать. Спасибо!
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Ускорить загрузку первичной странички в SSRS / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]