2009-02-18 8 views
13

Tôi đang sử dụng liên kết HTTP cơ bản.Hiệu suất ràng buộc WCF

Có ai biết đó là sự ràng buộc tốt nhất về mặt hiệu suất vì đó là vấn đề chính cho trang web của chúng tôi không?

+1

Bạn có thể cung cấp thêm một chút thông tin về nền tảng của mình không? Loại khách hàng nào đang kết nối với (các) dịch vụ web của bạn và các yêu cầu bảo mật là gì? –

+0

Hãy xem [this] (http://blog.shutupandcode.net/?p=1085) –

Trả lời

16

Phụ thuộc vào nơi dịch vụ được đặt.

Nếu chúng ở cùng một máy, NetNamedPipeBinding sẽ cho bạn hiệu suất tối đa.

Nếu không, bạn sẽ phải chọn tùy thuộc vào nơi họ đang nằm, nếu họ có để giao tiếp qua internet, interopability, vv

Soledad Pano's blog có một biểu đồ dòng chảy tốt để giúp đỡ với việc lựa chọn các cam kết ràng buộc thích hợp tùy thuộc vào tình hình

+0

+1 cho liên kết. Cảm ơn –

6

Điều này so sánh táo với cam. Nếu bạn đang sử dụng liên kết HTTP cơ bản, thì có một tập hợp các dịch vụ cơ bản và những dịch vụ không cung cấp, khác với các dịch vụ mà các yêu cầu WsHttpBinding cung cấp, ví dụ.

Do đó, các chỉ số hiệu suất sẽ khác nhau, nhưng bạn cũng sẽ không nhận được cùng chức năng và nếu bạn cần một bộ chức năng cụ thể, thì việc so sánh không đáng làm gì cả.

Ngoài ra, có các ràng buộc (như tcp net và gắn kết đường ống có tên) có thể không áp dụng được, nhưng có đặc tính hiệu suất tốt hơn.

Cuối cùng, tuyên bố của bạn về "hiệu suất tốt nhất" cho biết bạn thực sự không xem xét đúng cách. Bạn có kỳ vọng về tải của bạn là gì trong thời gian cao điểm và không cao điểm, cũng như thời gian phản hồi có thể chấp nhận được đối với sản phẩm của bạn. Bạn cần phải xác định xem WCF có nằm trong các tham số đó hay không và sau đó làm việc từ đó, không chỉ nói "Tôi đang tìm kiếm hiệu suất tốt nhất".

Bạn sẽ phải cung cấp thêm các yêu cầu cho những gì bạn đang cố gắng làm, và sau đó nhiều ánh sáng hơn có thể được đổ trên đó.

0

Thật khó để biết hiệu suất sẽ không có các yếu tố được biết khác (máy chủ HW, số lượng người dùng đồng thời, v.v.).

Tính năng ràng buộc HTTP sẽ hoạt động tốt hơn một chút, ví dụ như HTTPS, nhưng WCF nhị phân cho giao tiếp WCF sẽ nhanh hơn sau đó HTTP với mức giá tương thích thấp hơn.

Tôi nghĩ bạn cần cung cấp thêm chi tiết - chức năng mong muốn là gì (bạn cần trao đổi thông điệp SOAP hay Ajax bằng JSON?) Và tải máy chủ dự kiến.