|
Первая генерация отчета на Reporting Service слишком медленна
|
|||
---|---|---|---|
#18+
Всем привет. На сервере установлен SQL Server 2008, а также Reporting Service. Для тестирования, в среде .NET (используя компоненту ReportViewer) запускается простенький отчет, который даже из базы никаких данных не запрашивает. Проблема в том, что при первом запуске генерация отчета может занять до 10 сек. Последующие вызовы проходят уже быстрее, но опять же недостаточно: около 3 сек. Если закрыть .exe проект, вызывающий отчет, затем снова открыть и вызвать отчет - происходит та же задержка до 10 сек. Ситуация одинакова на разных клиентских машинах. Есть ли какие-то специфические настройки, куда смотреть.. может кто сталкивался с подобным явлением? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2013, 20:03 |
|
Первая генерация отчета на Reporting Service слишком медленна
|
|||
---|---|---|---|
#18+
Пообщаюсь с собой, :) заодно обрисую ситуацию подробнее. Имеется приложение на MSAccess, в котором нужно предоставить возможность просмотра отчетов посредством Reporting Service. Поскольку сам Аксесс не имеет необходимых компонент, то для взаимодействия с RS было проделано следующее: в среде Visual Studio 2010 была создана форма, с об'ектом ReportViewer на ней, и это все впихуто в DLL файл. В Аксессе на этот DLL файл ссылок не добавлено, а сам файл в системе регистрируется в качестве COM компоненты. Создается об'ект программно (CreateObject("ReportViewer.Report")), передаются параметры корректно, все работает надлежащим способом.. вот только медленно. Метод Show в DLL-ке реализован так, что сначала вызывается метод ReportViewer.RefreshReport() самого вьюера, и затем делается Show сама форма. При первом вызове CreateObject длится около 5 секунд, параметры ему передаются без задержек, а затем вызов Show, который длится еще 5 секунд. При последующих вызовах - CreateObject максимум длится 1 сек, а Show - около 2 сек. Но бывает и быстрее, иногда практически без задержек.. Если закрыть приложение и сразу же его открыть - та же ситуация с первым и последующими вызовами. На самом Reporting Service в config смотрели параметр ‹RecycleTime›, который установлен в 720, что в данном случае, фактически, роли не играет, т.в. 720 минут уж точно не проходит, чтоб сервер впал в состояние sleep. Ни у кого подобного опыта не было? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2013, 13:08 |
|
|
start [/forum/topic.php?fid=31&msg=38350055&tid=1533964]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
others: | 270ms |
total: | 417ms |
0 / 0 |