Remoting使用方式效能測試(二)

來源:互聯網
上載者:User

測試環境:

    Server: P4 2.4G 1G記憶體

    Client: P4 1.8G 1G 內容

Client使用ASP.NET 2.0建立遠程對象;然後通過ACT對Clinet進行測試。

服務端代碼:

ChannelServices.RegisterChannel(new HttpChannel (8081));

WellKnownServiceTypeEntry myWellKnownServiceTypeEntry =

                new WellKnownServiceTypeEntry(typeof(HFSoft.ObjectService.Server),

                                              "TestLogic",

                                              WellKnownObjectMode.Singleton);

RemotingConfiguration.RegisterWellKnownServiceType(

                                                myWellKnownServiceTypeEntry);

Console.WriteLine("Started the Server port:8081, Hit <enter> to exit...");

 

用戶端代碼:

        using (ICreateInstance<TestLogic.Employee> logic =

            ObjectFactory.ConfigObjectFactory.CreateInstance<TestLogic.Employee>())

        {

            //logic.Source.EmployeeID = 1;

            logic.Source.Load();

        }

 

用戶端配置方式:

    <objectservice>

    <!--<server url="192.168.0.62:8081/TestLogic" type="http">

      <objecttype type="TestLogic.Employee,TestLogic"/>

    </server>-->

   <server url="192.168.0.235:8081/TestLogic" type="http">

      <objecttype type="TestLogic.Employee,TestLogic"/>

    </server>

     </objectservice>

可以配置多個伺服器,由組件隨機播放相關伺服器。

 

 

(1)

測試名稱:

ACTSamples: ObjectServiceTest

 

測試回合名稱:

建立遠程服務物件,並返回遠程業務對象和設定業務對象一成員值、執行業務對象方法(在Client緩衝10個相關代理對象)

 

測試開始時間:

2006-9-26 11:44:24

 

測試期間:

00:00:01:00

 

測試迭代次數:

6,792

 

測試說明:

-

 

(2)

測試名稱:

ACTSamples: ObjectServiceTest

 

測試回合名稱:

建立遠程服務物件,並返回遠程業務對象和執行業務對象方法(在Client緩衝20個相關代理對象)

 

測試開始時間:

2006-9-26 11:41:58

 

測試期間:

00:00:01:00

 

測試迭代次數:

9,008

 

測試說明:

-

 

(3)

測試名稱:

ACTSamples: ObjectServiceTest

 

測試回合名稱:

建立遠程服務物件,並返回遠程業務對象

 

測試開始時間:

2006-9-26 11:17:36

 

測試期間:

00:00:01:00

 

測試迭代次數:

7,414

 

測試說明:

-

 

(4)

測試名稱:

ACTSamples: ObjectServiceTest

 

測試回合名稱:

建立遠程服務物件,並返回遠程業務對象和執行業務對象方法(在Client緩衝10個相關代理對象)

 

測試開始時間:

2006-9-26 11:13:31

 

測試期間:

00:00:01:00

 

測試迭代次數:

8,921

 

測試說明:

-

 

(5)

測試名稱:

ACTSamples: ObjectServiceTest

 

測試回合名稱:

建立遠程服務物件,並返回遠程業務對象和執行業務對象方法

 

測試開始時間:

2006-9-26 11:10:39

 

測試期間:

00:00:01:00

 

測試迭代次數:

5,500

 

測試說明:

-

測試回合圖形


顯示錯誤

 

基於遠程代理的對象調用,成員的操作對效能影響還是比較大的。從2和1測試案例對比可以看到,只是多了一個成員的調用並發率竟然能相差這麼大。因此在調用遠程對象時最好是基於無狀態方法的調用,這樣可以減少遠程對象的訪問次數,從而擷取效能上的提高。

緩衝的利用也是一個很重要的因素,這樣可以避免遠對象建立過程中帶來的損耗問題。直接由RemotingConfiguration配置代理的對象內部已經提供這處機制,如果代理對象是通過另一個代理建立時緩衝就變得很重要從2和5的測試圖可以看到差別。多層代理對象的建立對效能的影響比較嚴重,因此遇到這情況要特別注意。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.