2008-09-15 25 views
12

Danh sách kiểm tra để cải thiện thời gian thực thi giữa mã .NET và SQL Server. Bất cứ điều gì từ các giải pháp cơ bản đến kỳ lạ đều được đánh giá cao.Danh sách kiểm tra để sửa các ứng dụng .NET thành các vấn đề thời gian chờ của SQL Server và cải thiện thời gian thực hiện

Code:

Thay đổi thời gian chờ mặc định trong lệnh và kết nối bởi avgbody.

Sử dụng cuộc gọi thủ tục được lưu trữ thay vì câu lệnh sql nội tuyến theo avgbody.

Tìm kiếm chặn/khóa bằng Trình giám sát hoạt động theo số Jay Shepherd.

SQL Server:

Coi chừng tham số sniffing trong thủ tục lưu trữ bởi AlexCuse.

Cảnh giác với việc phát triển cơ sở dữ liệu động theo Martin Clarke.

Sử dụng Profiler để tìm bất kỳ truy vấn/thủ tục lưu trữ nào mất nhiều thời gian hơn 100 mili giây theo BradO.

Tăng thời gian chờ giao dịch bằng avgbody.

Chuyển đổi các thủ tục được lưu động thành các giá trị tĩnh theo avgbody.

Kiểm tra xem máy chủ bận như thế nào là Jay Shepherd.

Trả lời

1

Đầu tiên và quan trọng nhất - Kiểm tra truy vấn thực đang được chạy. Tôi sử dụng SQL Server Profiler như tôi thiết lập thông qua chương trình của tôi và kiểm tra xem tất cả các truy vấn của tôi đang sử dụng các kết nối chính xác và các khóa tham chiếu khi tôi có thể.

0

Một vài người nhanh chóng ...

  • Kiểm tra xử lý sử dụng các máy chủ để xem nếu nó chỉ là quá bận rộn
  • Look để chặn/khóa đang xảy ra với màn hình Hoạt động
  • vấn đề Mạng/hiệu suất
3

Một "giải pháp" lạ cho các khiếu nại về thời gian phản hồi dài là có thanh tiến trình thú vị hơn. Có nghĩa là, làm việc trên cảm giác của người dùng. Một ví dụ là biểu tượng chờ Windows Vista. Vòng tròn quay nhanh đó cho cảm giác mọi thứ diễn ra nhanh hơn. Google sử dụng cùng một mẹo trên Android (ít nhất là phiên bản tôi đã nhìn thấy).

Tuy nhiên, tôi khuyên bạn nên giải quyết vấn đề kỹ thuật trước tiên và chỉ thực hiện hành vi của con người khi bạn không còn lựa chọn.

5

Trong quá khứ một số giải pháp của tôi đã được:

  1. Fix thời gian mặc định ra các thiết lập của SqlCommand:

    Dim myCommand As New SqlCommand ("[dbo].[SpSetUserPreferences]", myConnection)

    myCommand.CommandType = CommandType.StoredProcedure

    myCommand.CommandTimeout = 120

  2. Tăng thời gian chờ kết nối chuỗi:

    Data Source = mydatabase; Initial Catalog = Phù hợp; Thông tin bảo mật liên tục = Đúng; ID người dùng = Người dùng; Mật khẩu = mật khẩu; Thời gian chờ kết nối = 120

  3. Tăng thời gian chờ giao dịch trong máy chủ sql 2005

    Trong các công cụ của studio quản lý> Tùy chọn> Thiết kế Tăng thời gian chờ chuỗi kết nối cho bản cập nhật thiết kế bảng ” đã chọn/bỏ chọn.

  4. Chuyển đổi năng động thủ tục được lưu trữ thành các tĩnh

  5. Làm cho cuộc gọi mã một thủ tục lưu trữ thay vì viết một tuyên bố nội tuyến sql trong các mã.

0

Chạy Profiler để đo thời gian thực hiện truy vấn của bạn.
Kiểm tra đăng nhập ứng dụng cho bất kỳ deadlocks nào.

0

Tôi thích sử dụng SQL Server Profiler. Tôi muốn thiết lập một dấu vết trên một trang web khách hàng trên máy chủ cơ sở dữ liệu của họ cho một khoảng thời gian 15-30 phút tốt ở giữa ngày làm việc và đăng nhập tất cả các truy vấn/procs được lưu trữ với thời lượng> 100 mili giây. Đó là tiêu chí của tôi cho các truy vấn "chạy dài".

0

một Weird rằng áp dụng cho SQL Server 2000 mà vẫn có thể áp dụng ngày hôm nay:

Hãy chắc chắn rằng bạn không cố gắng để tự động phát triển cơ sở dữ liệu trong sản xuất. Có một khoảng thời gian cần thiết để phân bổ không gian thừa đó và tải bình thường của bạn sẽ khiến các truy vấn của bạn hết thời gian chờ (và tăng trưởng quá!)

Các vấn đề liên quan