Java RMI:对象存根的统计信息

时间:2012-01-30 03:00:00

标签: java profiling rmi

我想描述基于RMI的应用程序的网络开销。例如,我很有兴趣知道存根通过网络传输了多少字节,或通过它完成了多少方法调用。但是,我无法在RMI API中找到任何内容。这有可能吗?

1 个答案:

答案 0 :(得分:1)

我不是特别喜欢RMI,并且发现基于JSon,Thrift甚至XML-RPC更容易使用。但是,有时我们没有选择。

在jdk7 / jdk存储库的“test”树中有一个用于RMI的微基准套件以及对象序列化,请参阅:

jdk/test/java/rmi/reliability/benchmark

剧本:

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

显示了如何创建两个用于基准测试的JAR文件。您可以将命令行参数传递给每个实例,以进行特定设置,例如每次运行重复等。(jar的一个实例将作为客户端运行,另一个实例作为服务器运行,也可以从命令行参数配置。)

我自己也没有玩过多少 - 通常信任现有的基准测试,例如:

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

......或者使用诸如此类的工具(我在最后两个方面看不太多):

JMeter(http://jmeter.apache.org/),肥皂石(http://soap-stone.sourceforge.net/)或   JVM-serialisers(https://github.com/eishay/jvm-serializers/wiki/