WebService效能測試回顧版 入門篇

2021-06-06 21:39:59 字數 3036 閱讀 8034

什麼是web service ?

功能全面的web services平台是xml +http+soap+wsdl+uddi.

◆soap(****** object access protocol ,遠端呼叫)

◆uddi(universal description , discovery and integration service

**,目錄服務)

◆wsdl(描述服務特徵)

◆xlang/xaml(為包括多種web services的複雜web 事務提供支援)

◆xkms(xml key management specification) -支援認證和註冊,這個工

作還在進展之中

remoting與webservice效能測試報告

在相同的環境下remoting的效率是webservice的3 倍

感覺webservice比ejb 的rmi 方法要消耗約15% 左右的效率。

remoting和webservice有什麼區別

其實現的原理並沒有本質的區別,在應用開發層面上有以下區別:

1 、remoting可以靈活的定義其所基於的協議,如果定義為http,則與web service 就沒有什麼區別了,一般都喜歡定義為tcp ,這樣比web service 稍為高效一些

2 、remoting不是標準,而web service 是標準;

3 、remoting一般需要通過乙個winform 或是windows 服務進行啟動,而web service 則需要iis 進行啟動。

4 、在vs.net開發環境中,專門對web service 的呼叫進行了封裝,用起來

比remoting方便

我建議還是採用web service 好些,對於開發來說更容易控制remoting一般

用在c/s 的系統中,web service 是用在b/s 系統中後者還是各語言的通用介面

相同之處就是都基於xml

為了能清楚地描述web service 和remoting之間得區別,我打算從他們的體

繫結構上來說起:web service 大體上分為5 個層次:1. http 傳輸通道2. xml

的資料格式3. soap 封裝格式4. wsdl 的描述方式5. uddi

總體上來講,。net 下的 web service結構比較簡單,也比較容易理解和應

用:一般來講在。net 結構下的webservice應用都是基於。net framework 以及

iis 的架構之下,所以部署(dispose )起來相對比較容易點。

從實現的角度來講,

首先webservice必須把暴露給客戶端的方法所在的類繼承於:system.web.services.webservice

這個基類其次所暴露的方法前面必須有[webmethod] 或者[webmethodattribute]

webservice的執行機理首先客戶端從伺服器的到webservice的wsdl,同時在

客戶端聲稱乙個**類(proxy class )

這個**類負責與webservice伺服器進行request 和response當乙個資料

(xml 格式的)被封裝成soap格式的資料流傳送到伺服器端的時候,就會生成一

個程序物件並且把接收到這個request 的soap包進行解析,然後對事物進行處理,

處理結束以後再對這個計算結果進行soap包裝,然後把這個包作為乙個response

傳送給客戶端的**類(proxy class ),同樣地,這個**類也對這個soap包

進行解析處理,繼而進行後續操作。

這就是webservice的乙個執行過程。

下面對。net remoting進行概括的闡述:。net remoting是在dcom等基礎上

發展起來的一種技術,它的主要目的是實現跨平台、跨語言、穿透企業防火牆,

這也是他的基本特點,與webservice有所不同的是,它支援http以及tcp 通道,

而且它不僅能傳輸xml 格式的soap包,也可以傳輸傳統意義上的二進位製流,這使

得它變得效率更高也更加靈活。而且它不依賴於iis ,使用者可以自己開發(development)

並部署(dispose )自己喜歡的宿主伺服器,所以從這些方面上來講webservice

其實上是。net remoting的一種特例。

remoting的兩種通道remoting的通道主要有兩種:tcp 和http. 在。net 中,

system.runtime.remoting.channel 中定義了 ichannel 介面。ichannel界麵包

括了tcpchannel通道型別和http通道型別。它們分別對應remoting通道的這兩種

型別1. remoting 是marshbyreference的,可以傳變數的引用,直接對伺服器對

象操作。速度快,適合intranet(企業內部網際網路)。

webservice是marshbyvalue的,必須傳物件的值。速度慢,可以過firewall,

配置比較簡單,適合internet(網際網路)。

2.一般來說,remoting是和平台相關的,需要客戶和伺服器都是。net ,但

可配置特性比較好,可以自定義協議。web service 可以做到跨平台通訊,但必

須採用soap協議。

3. soap 訊息有rpc 和文件兩種樣式。文件樣式的body元素中包含乙個或多

個元素,可以是任何內容,只要接受者理解就行了。rpc 樣式的的body元素中包

含呼叫的方法或遠端過程的名稱,以及代表方法引數的元素。

。net 對這兩種樣式的實現就是web service 和remoting .

概括的說remoting與web services的區別是:(1 )既支援tcp 通道又支援

http通道,傳輸速度快

(2 )即可傳輸xml 的soap包又可傳輸二進位製流,效率高(3 )remoteing

主要用於c/s 結構專案(4 )不一定要依賴iis 伺服器

soap都是沒規定和傳輸協議的關係,它只是一種xml 規範。

JMeter 測試WebService協議

jmeter本身不支援websocket協議的,所以需要安裝第三方的外掛程式還有6個依賴包。首先,我們需要準備jmeter的websocket協議的支援外掛程式 jmeterwebsocketsampler 1.0.2 snapshot.jar 這外掛程式依賴一下幾個jar包 我們準備好這些jar包...

怎樣提高WebService的效能

伺服器端webservice程式 using system.runtime.serialization.formatters.binary using system.io using system.io.compression using system.data.sqlclient public c...

怎樣提高WebService的效能

伺服器端webservice程式 c using system.runtime.serialization.formatters.binary using system.io using system.io.compression using system.data.sqlclient public...