2012-01-30 25 views
1

我想分析我的基於RMI的應用程序的網絡開銷。舉例來說,我有興趣知道有多少字節通過網絡傳輸的存根,或者有多少方法調用都通過它被完成。不過,我無法在RMI API中找到任何內容。這可能嗎?Java RMI的:爲對象的統計數據存根

回答

1

我不是特別喜歡RMI,發現基於JSON,節儉,甚至XML-RPC更容易使用。但是,有時我們沒有選擇。

有一個微基準測試套件,RMI,以及對象序列化,在JDK7/JDK庫的 「測試」 樹,見:

jdk/test/java/rmi/reliability/benchmark 

腳本:

jdk/test/java/rmi/reliability/scripts/create_benchmark_jars.ksh 

演示如何創建兩個用於基準測試的JAR文件。可以通過命令行參數到每個每個實例對每次運行特定設置,例如重複等。(罐子將運行在客戶端和其他作爲服務器,其也從命令行參數進行配置的一個實例。)

我沒打過多少與這個自己 - 通常相信現有的基準,例如:

http://daniel.gredler.net/2008/01/07/java-remoting-protocol-benchmarks

...或使用工具如(我還沒有在過去兩年多看):

JMeter的(http://jmeter.apache.org/),皁石(http://soap-stone.sourceforge.net/)或 JVM-串行器(https://github.com/eishay/jvm-serializers/wiki/