本文wcf的優勢和效能測試摘要:wcf
是framework3.0
下的分布式框架,下面主要從
wcf的優勢和效能測試兩個方面闡述。
一 wcf的優勢:
1、統一性
wcf是對於asmx,
.net remoting,enterprise service,wse,msmq等技術的整合。由於wcf完全是由託管**編寫,因此開發wcf的應用程式與開發其它的.net應用程式沒有太大的區別,我們仍然可以像建立物件導向的應用程式那樣,利用wcf來建立面向服務的應用程式。
2、互操作性
由於wcf最基本的通訊機制是soap,這就保證了系統之間的互操作性,即使是執行不同的上下文中。這種通訊可以是基於
.net 到.net間的通訊。
可以跨程序、跨機器甚至於跨平台的通訊,只要支援標準的web service,例如j2ee應用伺服器(如websphere,weblogic)。應用程式可以執行在windows作業系統下,也可以執行在其他的作業系統,如sun solaris,hp unix,linux等等。
3、安全與可信賴
ws-security,ws-trust和ws-secureconversation均被新增到soap訊息中,以用於使用者認證,資料完整性驗證,資料隱私等多種安全因素。
在soap的header中增加了ws-reliablemessaging允許可信賴的端對端通訊。而建立在ws-coordination和ws-atomictransaction之上的基於soap格式交換的資訊,則支援兩階段的事務提交(two-phase commit transactions)。
上述的多種ws-policy在wcf中都給與了支援。對於messaging而言,soap是web service的基本協議,它包含了訊息頭(header)和訊息體(body)。在訊息頭中,定義了ws-addressing用於定位soap訊息的位址資訊,同時還包含了mtom(訊息傳輸優化機制,message transmission optimization mechanism)。
4、相容性
wcf充分的考慮到了與舊有系統的相容性。安裝wcf並不會影響原有的技術如asmx和.net remoting。即使對於wcf和asmx而言,雖然兩者都使用了soap,但基於wcf開發的應用程式,仍然可以直接與asmx進行互動。
二、wcf的一些效能測試(
wcf與現存的分布式通訊技術進行對比):
在a performance comparison of windows communication foundation (wcf) with existing distributed communication technologies
一文中,
通過與現有的分布式技術
asp.net web services (asmx)
、web services enhancements (wse)
、.net enterprise services (es)
、.net remoting
的測試比較後,表明:相比較基於
asp.net web service
、wse
、.net enterprise
和.net remoting
技術的分布式應用,wcf的表現至少這四種現有的分布式通訊技術要強的多。並且,在大部分情況下,
wcf的表現明顯優於其他現有技術。wcf的另乙個的非常重要的特點就是他的吞吐量本身就隨著從單核處理器到雙核處理器的公升級。因此,wcf比
asp.net web services (asmx)
快了25%-50%;比
.net
remoting大約
快了約25%;與.net enterprise service 的比較依賴負載,乙個情況wcf快了近100%,而另外乙個情況wcf慢了25%。最後如果將wse 2.0/3.0 移植到wcf 上,那麼效能是原來的4倍!
同時,marcin celej 在他的blog的中寫出了他的測試結論,
1. 傳送不帶二進位制資料的dataset remoting 仍然比wcf快,這個結論甚至在傳送200行資料的基礎上,都看得到的。
2. 發動帶xml格式的dataset 序列化資料,wcf比remoting 快一點。這可能是因為wcf本質上就是以xml傳輸資料。
但是,wcf和remoting 表現上雖然差距不大,但是wcf有明顯優越的伺服器吞吐量。就好象vista比xp慢,但是他確實比xp要好的多。同樣的wcf比remoting 要好很多啦。
WCF效能優勢體現
wcf效能優勢決定了其受歡迎程度,這些優勢主要都體現在 統一性 互操作性 安全與可信賴 相容性等方面。wcf是使用託管 建立和執行面向服務 service oriented 應用程式的統一框架。wcf能夠建立乙個跨平台的安全 可信賴 事務性的解決方案,且能與已有系統相容協作。wcf是微軟分布式應用程...
wcf測試證書的建立
如何建立證書 makecert.exe sr localmachine ss my a sha1 n cn jiangserver sky exchange pe 服務端證書 makecert.exe sr localmachine ss my a sha1 n cn jiangclient sky...
壓力測試和效能測試的區別
效能測試就 是用來測試軟體在系統中的執行效能的。效能測試可以發生在各個測試階段中,即使是在單元層,乙個單獨模組的效能也可以使用白盒測試來進行評估,然而,只有當整個系統的所有成分都整合到一起之後,才能檢查乙個系統的真正效能。效能測試經常和壓力測試一起進行,而且常常需要硬體和軟體測試裝置,這就是說,常常...