2012-07-31 147 views
0

我是WCF數據服務的新手。我使用ADO .NET Entity框架在WCF數據服務上創建了一個樣本POC。WCF數據服務的性能問題

當我加入WCF數據服務作爲服務的參考,爲1000行簡單的SELECT語句由一個測試項目的測試數據服務,它花了大約25秒。 25秒內只需5秒就可以從數據庫查詢數據(在分析數據庫後獲得此信息)。

其怪異的是WCF數據服務花了大約20秒,只是翻譯和運輸。

任何想法,爲什麼它花費這麼多的時間翻譯和運輸?

+0

我們需要更多的細節就這個問題的任何轉發進度 - 你可以看到,這些URL返回500個實體和回報率<10秒時:http://odata.netflix.com/Catalog/Titles和http :?//odata.netflix.com/Catalog/Titles $格式= JSON。最大的決定因素應該是電線的大小。這些有效載荷的尺寸是幾個兆。你能否給我們更多的細節? – 2012-08-01 02:31:50

+0

我正在使用急切加載來獲得導航屬性的前期。所以在網絡上的總大小是105MB左右。所以,這是105MB的作用,增加20秒的開銷或是否有任何其他原因,可能會導致這一點,因爲我使用相同的機器主機服務和測試客戶端,有效載荷大小添加這樣這種情況下影響巨大? – 2012-08-01 11:02:26

+0

這很可能是問題 - 電線上的105MB是巨大的。您應該只需加載實際要在同一屏幕上顯示的內容。這是這種情況嗎?你真的需要擴展數據的所有1000條記錄嗎?你能告訴我們更多關於你的用例嗎? – 2012-08-01 13:57:40

回答

0

你的數據簡直是太大了。

網絡傳輸速度比從數據庫獲取數據慢幾倍是絕對正常的,至少當查詢由更多的大容量獲取而不是複雜的窄過濾組成時,以及在沒有主要性能問題的情況下數據庫端。

100 MB在20秒= 40 Mbps的這將是相當接近100 Mbps以太網硬件限制鑑於〜100 MB僅僅是有效載荷。