Added by Peter Lawrey, last edited by Peter Lawrey on Aug 10, 2008  (view change)

Labels:

Enter labels to add to this page:
Wait Image 
Looking for a label? Just start typing.

RMI call latency and throughput for a simple call.

These calls were made via the loopback interface.

The method called
public double add(double a, double b);
System call latency 50 / 90 / 98% calls throughput 50 / 90 / 98
Windows laptop simple call 65 / 67 / 77 µs 48K / 29K / 23K
Windows workstation simple call 45 / 61 / 68 µs 97K / 58K / 48K
Linux workstation simple call 42 / 44 / 49 µs 51K / 41K / 28K
Linux server simple call 19.4 / 23.9 / 26.4 µs 113K / 63K / 49K

The ping latency for the Windows system was about 90 µs and for Linux it was about 14 µs

RMI call latency for mixed calls.

A variety of 10 different calls and return values were sampled in this benchmark.

These calls were made via the loopback interface.

System call latency 50 / 90 / 98%
Windows laptop mixed call 69 / 75 / 83 µs
Windows workstation mixed call 54 / 60 / 73 µs
Linux workstation mixed call 65 / 71 / 79 µs
Linux server mixed call 35 / 64 / 76 µs

POJO serialization time.

Two list of 10K each, one with a PrimitivePojo (of all primitive types) and WrapperPojo (All wrappers and String)
This is the average times per pojo.

System Time for Java serialization/deserialization Time to send over RPC with custom serialization
Windows laptop simple call 4.9 - 5.5 µs per pojo 1.5 - 1.6 µs per pojo
Windows workstation simple call 5.1 - 5.7 µs per pojo 1.8 - 2.0 µs per pojo
Linux workstation call 6.0 - 8.6 µs per pojo 1.9 - 2.1 µs per pojo
Linux server simple call 6.5 - 7.9 µs per pojo 1.8 - 2.0 µs per pojo

Note: The first case is just serialization / deserialization, the later is serialization / write / read / deserialization.

The systems used.

Windows laptop: Windows XP Home SP 2, with T7200 Core Duo.
Windows workstation: Windows XP Pro SP 2, with 2.5 GHz 4800+ Dual Core AMD 64.
Linux server: RedHat 2.6.18, RHEL 5, 2x Dual Core 2.4 GHz AMD 280 processors.
Linux workstation: Fedora 7, Dual Core 2.0 GHz AMD processor.

On Windows I used the -server command line option and set the Process priority to High in the task manager.
On Linux I used the default options.