2011-09-06 33 views
5

Chúng tôi có dịch vụ net.tcp WCF ở trang web có lưu lượng truy cập cao. http://www.artedelcorpo.com/Giới hạn kết nối WCF

Nó hoạt động rất tốt trong một thời gian, sau đó nó dừng và trả về lỗi hết thời gian chờ. Khi tôi khởi động lại IIS, nó chạy lại.

Tại sao? Có giới hạn về kết nối không?

+1

Chạy theo dõi WCF có thể cung cấp một số thông tin chi tiết. –

+1

Lỗi này là: "System.Net.Sockets.SocketException (0x80004005): Thao tác I/O đã bị hủy bỏ vì thoát khỏi chuỗi hoặc yêu cầu ứng dụng" – user758977

Trả lời

9

Có cài đặt mặc định gồm 10 kết nối cho NetTcp Binding. Bạn có thể tăng điều này trong phần <binding> của cấu hình của bạn. Điều tương tự cũng đúng với thời gian chờ - mặc định là 1 phút, nhưng bạn cũng có thể điều chỉnh thời gian chờ đóng, mở thời gian chờ, nhận thời gian chờ và gửi thời gian chờ.

<system.serviceModel> 
    <bindings> 
     <netTcpBinding> 
      <binding name="MyNetTcpBinding" closeTimeout="00:05:00" 
        openTimeout="00:05:00" receiveTimeout="00:05:00" 
        sendTimeout="00:05:00" maxConnections="100" /> 
     <netTcpBinding> 
    </bindings> 
</system.serviceModel> 

Các ví dụ trên sẽ thiết lập timeout đến 5 phút và các kết nối tối đa đến 100.

Xem <netTcpBinding> để biết thêm chi tiết/thông tin.

+0

Cảm ơn bạn đã trả lời. Tôi đặt thời gian chờ 10 phút và 1000 kết nối. Chúng tôi có khoảng 7000 khách truy cập mỗi ngày. – user758977

5

Tăng thời gian chờ mạng mua cho bạn thời gian để yêu cầu được xử lý. Điều này có thể giúp bạn tồn tại một loạt lưu lượng truy cập cao nhưng không thay đổi thông lượng hệ thống của bạn.

Nếu phần cứng của bạn vẫn còn một số khoảng không về mặt bộ nhớ và CPU khi những vấn đề này xảy ra, bạn nên xem xét việc thay đổi điều chỉnh đồng thời của bạn. Điều này sẽ cho phép nhiều yêu cầu được xử lý song song hơn. default throttle values in .NET 3.5 thực sự khá bảo thủ và điều này có thể là một sửa chữa nhanh (tùy thuộc vào kiến ​​trúc dịch vụ của bạn).

Dưới đây là một số ví dụ tốt về định cấu hình WCF service throttles.

Nếu phần cứng của bạn đã hết hạn và bạn vẫn nhận được thời gian chờ, có thể là thời gian để nhóm dịch vụ và thêm một nút khác.

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