2012-06-26 4 views
16

일부 보고서와 함께 SQL보고 서버 (2008 R2)를 설치했습니다. 하지만 공연에 관한 문제가 있습니다.SQL보고 서비스 : 첫 번째 호출이 매우 느립니다.

오늘 (예를 들어 보고서 인터페이스로 이동하는) 하루 중 첫 번째 호출은 매우 느립니다 (기껏해야 30-45 초와 비슷합니다).

보고서 생성은 "빠름"(1-2 초)입니다.

다음 번 서버 호출은 다음 날까지 항상 금식 상태입니다. 나는 그것이 메모리에 많은 것을로드한다는 인상을했습니다. 그러나 메모리에로드되는 데 30-45 초가 걸릴 수 있습니다 ??? 한 번만로드하는 방법?

서버가 충분합니다 (쿼드 코어, 8GB 램, 지금은 거의 용량이 없습니다).

무엇이 문제입니까? 이 문제를 어떻게 해결할 수 있습니까?

보고서는 일주일에 4-5 번만 실행되므로 변경하지 못하면 항상 느려집니다. 그리고 고객이 사용할 수 있기 때문에 나는 이것을 이해할 수 없습니다. 그리고 보고서는 웹 사이트를 통해 호출되기 때문에 타임 아웃이 발생할 위험이 있습니다.

당신에게 대단히 감사합니다

+0

한동안 사용하지 않으면 실행 계획이 취소됩니다. –

답변

21

은 SSRS 문제인 것처럼 보입니다. 보고서에 아무런 문제가 없습니다.

오랜 시간 동안 사용하지 않으면 처음 액세스 할 때 SSRS가로드하는 데 "정상적인"상태입니다. 이 문제는 SSRS가 작동하는 방식과 SSRS가 특정 기간 후에 정기적으로 응용 프로그램 도메인을 다시 시작하는 방식으로 인해 발생합니다. 응용 프로그램 도메인을 다시 시작한 후 SSRS에 대한 첫 번째 요청이있을 때 모든 설정을로드해야하며 꽤 오랜 시간이 걸립니다.

This 블로그 쇼가 상황

+1

현재이 솔루션을 사용하고 있습니다. 내일 작동하는지 확인합니다. :) – J4N

+0

:) 오늘 아침에 정말 효과적이었습니다. SSRS가 정기적으로 응용 프로그램 도메인을 다시 시작해야하는 이유를 알고 있습니까? – J4N

+0

정말로 : (적어도 우리는 hahah 주위의 작업을 알고 있습니다 – Diego

1

Windows 서비스에서 Windows 배치 명령을 통해 사용하여 보고서의 HTTP 페이지에 '컬'명령을 실행하는 것이 었습니다와 내가 올 수있는 가장 좋은 솔루션입니다. 사용자가에 오기 전에이 매일 아침 페이지 (들)을 달려

(작업이 잠시 전) 더 이상 코드에 액세스 할 수없는 그러나이 문제는 컬 사용하는 방법을 보여줍니다.

http://blogs.plexibus.com/2009/01/15/rest-esting-with-curl/

0

SQL Server와 완전히 관련이 없을 수 있습니다. 코드 서명 해지 목록 확인 문제가 없는지 확인하십시오. Fix slow application startup due to code sign validation

+0

나는 그 2 개의 기입을 두는 것을 시도했다, 그러나 도움받지 않았다, 오늘 아침 나는 시험하고, 동일한 문제. – J4N

1

디에고 말했듯에 대한 작업 주위의, SSRS 몇 가지 문제가 있습니다. 첫 번째 호출은 서버 구성과 관련하여 느립니다. rsreportserver.config (C : \ Program Files \ Microsoft SQL Server \ MSRS10.MSSQLSERVER \ Reporting Services \ ReportServer \에 모르는 경우에 추가)에 추가 할 다음 구성을 사용하는 것이 좋습니다.

SSRS가 사용하는 최대 메모리 : (7 GB의 의미)이 첫 번째 통화를 개선하려면

<WorkingSetMaximum>7000000</WorkingSetMaximum> 

, 당신은 (분)을 설정할 수 있습니다

<RecycleTime>4320</RecycleTime> 

가 실제로 SSRS는 리셋이있다 (재활용) 버퍼를 정리하는 시간.기본적으로 720 분 (12h)으로 설정되어 있으므로 매일 아침 보고서를 열면 실제로 매우 느리게로드됩니다. 필요에 따라 재활용 시간을 더 높게 (2-3 일) 설정할 수 있습니다. 버퍼가 가득 차고 빈 페이지 만 표시되기 때문에 시간이 더 오래 걸리므로 Reporting Services를 수동으로 다시 시작해야합니다.

1

다음은이 문제를 해결하기 위해 작성한 powershell 스크립트입니다. 새벽 1시에 실행하는 작업으로 설정됩니다.

Stop-Service "SQL Server Reporting Services (MSSQLSERVER)" 
Start-Service "SQL Server Reporting Services (MSSQLSERVER)" 
$wc = New-Object system.net.webClient 
$cred = [System.Net.CredentialCache]::DefaultNetworkCredentials 
$wc.Credentials = $cred 
$src = $wc.DownloadString("http://localhost/Reports/Pages/Report.aspx?ItemPath=***NAME OF HOME PAGE***") 
관련 문제