2012-06-26 13 views
16

मैंने कुछ रिपोर्ट के साथ एक SQL रिपोर्टिंग सर्वर (2008 आर 2) स्थापित किया है। लेकिन मेरे पास कुछ प्रदर्शन मुद्दे हैं।एसक्यूएल रिपोर्टिंग सेवाएं: पहली कॉल बहुत धीमी है

सर्वर के दिन का पहला कॉल (उदाहरण के अनुसार रिपोर्ट इंटरफ़ेस पर जा रहा है), बहुत धीमा है (कुछ 30-45 सेकेंड की तरह कुछ)।

रिपोर्ट जनरेशन तब "तेज" (1-2 सेकंड) है।

सर्वर पर अगली कॉल हमेशा अगले दिन तक रहती है। मुझे लगता है कि यह स्मृति में बहुत सी चीजें लोड करता है। लेकिन स्मृति में लोड होने में 30-45 सेकंड लग सकते हैं ??? और इसे केवल एक बार कैसे लोड करें?

सर्वर काफी अच्छा है (क्वाड कोर, 8 जीबी रैम, अब इसकी क्षमता के पास कभी नहीं)।

समस्या क्या है? मैं इसे कैसे हल करूं ?

खोने की रिपोर्ट सप्ताह में केवल 4-5 बार लॉन्च की जाएगी, इसलिए यदि मैं इसे बदल नहीं सकता तो वे हमेशा धीमे रहेंगे। और चूंकि यह ग्राहक के लिए उपलब्ध है, इसलिए मैं उन्हें यह समझ नहीं सकता (और रिपोर्ट को वेबसाइट के माध्यम से बुलाया जाता है, इसलिए मुझे टाइमआउट करने का जोखिम होता है)।

आपको बहुत बहुत धन्यवाद

+0

निष्पादन योजना को निकाल दिया जा रहा है यदि इसका उपयोग किसी समय के लिए नहीं किया जा रहा है। –

उत्तर

21

टी एक एसएसआरएस मुद्दा प्रतीत होता है। आपकी रिपोर्ट में कुछ भी गलत नहीं है।

इसका "सामान्य" है कि एसएसआरएस को निष्क्रियता के लंबे समय के बाद पहली बार लोड करने में अधिक समय लगता है। यह मुद्दा एसएसआरएस कैसे काम करता है और एसएसआरएस नियमित समय अवधि के बाद नियमित रूप से एप्लिकेशन डोमेन को पुनरारंभ करता है। एप्लिकेशन डोमेन को पुनरारंभ करने के बाद, एसएसआरएस के पहले अनुरोध पर इसे सभी सेटिंग्स लोड करने की आवश्यकता होती है और इसमें काफी लंबा समय लगता है।

This ब्लॉग शो स्थिति

+1

मैं वर्तमान में इस समाधान का प्रयास कर रहा हूं, अगर कल यह काम करेगा तो मैं कल देखूंगा :) – J4N

+0

:) मैं आज सुबह वास्तव में खुश था, क्योंकि यह काम करता था! क्या आप जानते हैं कि क्यों एसएसआरएस को नियमित रूप से एप्लिकेशन डोमेन को पुनरारंभ करना पड़ता है? – J4N

+0

वास्तव में नहीं :(लेकिन कम से कम हम हहा – Diego

1

सबसे अच्छा समाधान मैं ऊपर आ सकता है एक खिड़कियों सेवा में के माध्यम से विंडोज़ बैच आदेश का उपयोग कर रिपोर्ट की http पृष्ठ के लिए एक 'कर्ल' आदेश जारी करने के साथ था। यह हर सुबह पेज (रों) ऊपर दौड़ा से पहले उन में आया

(काम कुछ समय पहले किया गया था) अब और कोड के लिए पहुँच नहीं है, लेकिन इस सवाल यह है कि कर्ल उपयोग करने के लिए दिखाता है:।

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

0

यह SQL सर्वर से पूरी तरह से असंबंधित हो सकता है। यह देखने का प्रयास करें कि कोड साइन निरस्तीकरण सूची चेक समस्या नहीं है, Fix slow application startup due to code sign validation

+0

मैंने उन दो रजिस्ट्री को रखने की कोशिश की, लेकिन इससे मदद नहीं मिली, आज सुबह मैंने परीक्षण किया, और एक ही समस्या। – J4N

1

के रूप में डिएगो कहा के लिए चारों ओर एक काम है, SSRS कुछ मुद्दे हैं। आपके सर्वर कॉन्फ़िगरेशन के संबंध में यह पहला कॉल धीमा है। मैं आपको rsreportserver.config में जोड़ने के लिए निम्न कॉन्फ़िगरेशन की अनुशंसा करता हूं (यदि आप सी: \ प्रोग्राम फ़ाइलें \ Microsoft SQL Server \ MSRS10.MSSQLSERVER \ Reporting Services \ ReportServer \)

यदि आप बढ़ाना चाहते हैं अधिकतम SSRS द्वारा प्रयुक्त स्मृति: (जो 7 जीबी का मतलब है)

<WorkingSetMaximum>7000000</WorkingSetMaximum> 

आप पहले कॉल में सुधार करना चाहते हैं, तो आप (मिनट में) सेट कर सकते हैं

<RecycleTime>4320</RecycleTime> 

असल में SSRS एक रीसेट है (रीसायकल) समय जिसमें इसके बफर को साफ करता है।डिफ़ॉल्ट रूप से यह 720 मिनट (12h) पर सेट किया गया है, इसलिए यदि आप हर सुबह एक रिपोर्ट खोलते हैं तो यह वास्तव में बहुत धीमी गति से लोड होता है। जैसा कि आपको चाहिए, आप रीसायकल समय को उच्च (2-3 दिन) सेट कर सकते हैं। मैं उच्च समय की अनुशंसा नहीं करता क्योंकि बफर भर जाएगा और आपको केवल रिक्त पृष्ठ मिलेंगे, इसलिए आपको रिपोर्टिंग सेवाओं को मैन्युअल रूप से पुनरारंभ करना होगा।

1

यहां समस्या निवारण स्क्रिप्ट है जिसे मैंने समस्या को ठीक करने के लिए लिखा था। यह प्रत्येक 1:00 बजे चलाने के लिए एक कार्य के रूप में सेट किया गया है:

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***")