2009-05-08 6 views
13

Chúng tôi có báo cáo năm 2005 có thể là từ 2 đến 250 trang với trung bình là ở sân chơi bóng của 10. Khi báo cáo được phát triển, nhà phát triển của chúng tôi được thông báo rằng 10 trang hoặc đúng là số và không biết tên miền kinh doanh rất tốt, ông quyết định dịch vụ báo cáo là phương pháp chính xác.Báo cáo dịch vụ báo cáo Thời gian chờ

Bây giờ báo cáo đã được triển khai cho PROD, chúng tôi đang có một số khiếu nại về thời gian báo cáo. Cả nhà phát triển hoặc tôi về điều này đều rất ngạc nhiên với kích thước tuyệt đối của báo cáo đang được yêu cầu (250 trang).

Câu hỏi của tôi là những lựa chọn nào chúng tôi phải sử dụng báo cáo hiện tại của chúng tôi hoạt động 95% thời gian và làm cho nó hoạt động 5% còn lại? Có các tùy chọn cấu hình ở bất kỳ đâu để cải thiện hiệu suất hiển thị hay bất kỳ thứ gì như thế không?

Báo cáo được sử dụng để trả lại ủy quyền để kích thước của số tiền trả về là có thể rất lớn. Mỗi trang ủy quyền có 4 nhãn trả lại khác nhau có biểu tượng và mã vạch.

Để làm rõ:

Báo cáo được trả lại khá nhanh chóng từ báo cáo dịch vụ cho người xem báo cáo, nhưng khi chúng tôi xuất khẩu sang PDF là khi phải mất một thời gian để tải.

+1

Đọc này, tôi nghĩ rằng nó là một đồng nghiệp viết này, như tôi đã gần như tình hình chính xác cùng ... – CaffGeek

+0

tôi đã cùng một vấn đề ở đây. Tôi đã nhận được và lỗi Yêu cầu thực thi HTTP yêu cầu vì tôi đã cố gắng hiển thị báo cáo qua dịch vụ web asmx. Tôi chỉ cần RDP vào máy chủ và chạy nó từ http: // localhost/reports thay vào đó và nó được xuất sang PDF đúng vì thời gian chờ thực hiện cho trang web đó là 9000 giây. Chỉ cần bumping thời gian chờ thực hiện cho trang web gọi điện thoại của tôi cũng đã cố định nó nhưng tôi không muốn sửa đổi web.config gây ra các máy chủ để làm mới tất cả các phiên và khởi động tất cả mọi người ra, vv –

Trả lời

3

Có cài đặt thời gian chờ thực hiện báo cáo cho mỗi báo cáo trong SSRS. Theo mặc định, chúng được đặt để sử dụng cài đặt hệ thống mặc định, nhưng chúng có thể được tùy chỉnh thông qua trình quản lý báo cáo hoặc SSMS.

Bạn có chắc chắn đây không phải là thời gian chờ của lệnh cơ sở dữ liệu không? Điều đó có thể được điều chỉnh trong chuỗi kết nối. Có phải báo cáo không hiệu quả hoặc truy vấn không? 250 trang cho một báo cáo SSRS thực sự không phải là xấu. Chúng tôi chạy báo cáo thường xuyên. SSRS thực sự hoạt động tốt hơn hầu hết các công cụ báo cáo khác mà chúng tôi sử dụng.

+0

Chắc chắn không phải là một thời gian chờ DB. Dữ liệu được truy xuất rất nhanh. Tôi đang cố gắng tăng thời gian chờ cho bản thân báo cáo. – RSolberg

20

Bạn có thể fiddle với bất kỳ những điều sau đây:

1) Sửa SessionTimeout và SessionAccessTimeout thuộc tính hệ thống.

Dưới đây là một kịch bản mẫu cho rs.exe đó sẽ thiết lập các giá trị cho bạn:

Public Sub Main() 
    Dim props() as [Property] 
    props = new [Property]() { new [Property](), new [Property]() } 

    props(0).Name = "SessionTimeout" 
    props(0).Value = timeout 

    props(1).Name = "SessionAccessTimeout" 
    props(1).Value = timeout 

    rs.SetSystemProperties(props) 
End Sub 

Bạn có thể chạy kịch bản này với lệnh sau đây:

rs -i sessionTimeout.rss -s http://yourserver.com/reportserver -v timeout="6000" 

Thời gian chờ được thể hiện tính bằng giây, vì vậy ví dụ này đặt SessionTimeout và SessionAccessTimeout thành khoảng một giờ rưỡi.

(thông qua http://blogs.msdn.com/b/jgalla/archive/2006/10/11/session-timeout-during-execution.aspx)

2) Thay đổi Báo cáo Thực hiện Timeout qua Báo cáo Giám đốc Báo cáo mở quản lý Ở phía trên cùng của trang, nhấp vào Cài đặt trang web. Thao tác này sẽ mở trang Thuộc tính chung của trang web.

Báo cáo thời gian chờ thực hiện Chỉ định xem thời gian xử lý báo cáo có sau một số giây nhất định không. (thông qua http://msdn.microsoft.com/en-us/library/ms181194.aspx)

3) Đặt httpRuntime executionTimeout

  1. mở file Web.config của ReportServer bằng cách vào Start -> Administrative Tools -> Internet Information Services.
  2. Từ đó, mở rộng Trang web -> Trang web mặc định và nhấp vào ReportServer. Trên ngăn bên tay phải, nhấp chuột phải vào ‘Web.Config’ và chọn ‘Open’.
  3. Tìm thông số HttpRuntime. Nếu nó không tồn tại, bạn sẽ phải tạo nó trong phần.
  4. Thiết lập giá trị executionTimeout để '10800' (3 giờ) như hình dưới đây:
<system.web> 
    <httpRuntime executionTimeout = "10800" /> 
</system.web> 

4) Tăng thời gian chờ kịch bản trên máy chủ báo cáo

  1. Tới lên Máy chủ báo cáo của bạn và mở Dịch vụ thông tin Internet; nhấn chuột phải vào ReportServer và chọn Properties.
  2. Chuyển đến tab Tùy chọn và đặt thời gian chờ ASP Script thành 300 giây (điều này thực sự không hiệu quả đối với tôi).

5) Thiết lập báo cáo để không bao giờ thời gian ra trên máy chủ

  1. Mở trình duyệt web của bạn trên máy chủ và đi đến http://yourserver.com/Reports
  2. Điều hướng đến vị trí báo cáo và nhấn vào vấn đề báo cáo).
  3. Trên ngăn bên tay trái, nhấp vào Thuộc tính.
  4. Trong 'Thời gian chờ thực hiện báo cáo', hãy nhấp vào ‘Thực thi báo cáo không hết thời gian chờ’. (thông qua http://geekswithblogs.net/ssrs/archive/2009/10/30/steps-to-resolve-ssrs-timeout-issues.aspx)