2011-05-16 139 views
1

我在我的WCF服務中使用了TCP綁定,並且在很多人可能連接到此服務的時候,我的問題是我是否需要在我的wcf服務中進行服務限制,如果是,那麼什麼是理想的方式來做到這一點?WCF服務限制

回答

2

WCF開箱即用的節流是通過ServiceThrottlingBehavior。它不知道你正在使用的特定綁定(即tcp/http無關緊要)。

+0

但這是部分回答我的問題,仍然我想知道使用節流的理想情況 – Deepesh 2011-05-16 15:57:43

+0

我是說實話,你的問題的一部分有點困惑。節流的方法是通過ServiceThrottlingBehavior ...在這個意義上沒有「理想」。如果您問如何發現STB的各種配置屬性的理想值,那麼再次沒有「理想」。這一切都取決於您的服務的具體情況。通過在附近的生產硬件上進行負載測試並找到峯值,唯一可以發現數字有意義的方法就是通過負載測試。請記住,在達到最終節流值之前,您可能需要使用更多的開關和旋鈕。 – 2011-05-16 16:09:16

1

我認爲這要看具體情況:其中/服務如何託管,它是如何訪問等

有你的問題沒有很好的一個單一的答案。

您的服務可能需要在預期負載下進行測試,並瞭解它如何處理。有了這些信息,你應該能夠開始制定一個節流計劃,如果測試顯示它是需要的話。

+0

特里說例如應用程序可以有1500個用戶,我認爲在特定的日子300-400人可能會使用應用程序在parralel – Deepesh 2011-05-16 15:37:30

+0

我不知道這是足夠的信息來作出決定的基礎上。這取決於服務的工作量等等。我不認爲在沒有實驗和負載測試的情況下對您的問題有一個確定的答案是沒有辦法的。如果我是你,我會先不加限制,然後在你看到它需要時添加它。 – 2011-05-16 15:54:41

+0

是對的,這取決於。 WCF提供默認服務調節,如[此處所述](http://msdn.microsoft.com/zh-cn/library/ms735114(v = vs.90).aspx)以WCF默認值開始並構建負載測試集這創造了一個現實的負載。觀察主機資源利用率(主要是CPU和內存使用性能計數器)。增加負載,直到您始終使用超過80%的任何資源。這將接近真實世界的最大負載。接下來,調整默認值以查看是否可以在相同的最大負載或更低資源消耗下獲得更多吞吐量。沖洗和重複... – 2011-05-16 16:05:27