If you have access to the ReportServer sql database execute the following query or similar against the ExecutionLog view:
select TimeStart, TimeEnd, TimeDataRetrieval, TimeProcessing, TimeRendering, Status, ReportID from executionlog
This will provide you with a good breakdown of your report rendering (with different parameters). Pay close attention to TimeRendering, TimeProcessing and TimeDataRetrieval. Large or high values for any of these columns will illustrate where your bottleneck is.
One problem that I have experienced in the past is when you are returning a fairly large dataset to the report (5000 rows is large enough for this scenario) and then you are using the inbuilt ssrs filtering, the rendering is very slow and this would result in a very high TimeRendering value. All rendering should be done at the database layer, grouping and filtering does not perform well will large amounts of data when performed in the ssrs report itself.
หากคุณมีการเข้าถึง reportserver ฐานข้อมูล SQL รันแบบสอบถามหรือคล้ายกันกับมุมมอง executionlog ต่อไปนี้ :
เลือก timestart timeend timedataretrieval timeprocessing , , , , timerendering สถานภาพ reportid จาก executionlog
นี้จะช่วยให้คุณมีรายละเอียดของรายงานการแสดงผล ( กับพารามิเตอร์ที่แตกต่างกัน ) สนใจ timerendering ,และ timeprocessing timedataretrieval . ค่าขนาดใหญ่หรือสูงสำหรับใด ๆของคอลัมน์เหล่านี้จะแสดงที่คอขวดของคุณ
ปัญหาเดียวที่ฉันได้มีประสบการณ์ในอดีต คือ เมื่อเธอกลับมาค่อนข้างใหญ่ข้อมูลการรายงาน ( 5000 แถวมีขนาดใหญ่พอสำหรับสถานการณ์นี้ ) แล้วคุณจะใช้ ssrs inbuilt การกรองการแสดงผลจะช้ามาก และจะส่งผล timerendering สูงมากค่า ทั้งหมดการแสดงผลควรทำในฐานข้อมูลชั้น , การจัดกลุ่มการกรองไม่ดำเนินการก็จะปริมาณมากของข้อมูลที่แสดงในรายงาน ssrs นั่นเอง
การแปล กรุณารอสักครู่..
