Java RMI: статистика для заглушек объектов - PullRequest
1 голос
/ 30 января 2012

Я бы хотел профилировать сетевые издержки моего приложения на основе RMI. Например, мне было бы интересно узнать, сколько байтов заглушки передано по сети, или сколько вызовов методов было сделано через нее. Я не могу найти что-либо в API RMI, чтобы подключиться, хотя. Возможно ли это вообще?

1 Ответ

1 голос
/ 30 января 2012

Мне не особенно нравятся RMI, и мне было проще работать с JSon, Thrift и даже с XML-RPC. Однако иногда у нас нет выбора.

Существует набор микробенчмарков для RMI, а также сериализация объектов в дереве "test" репозитория jdk7 / jdk, см .:

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-сериализаторы (https://github.com/eishay/jvm-serializers/wiki/)

...