Re: JERI vs. JRMP performance penalties

Mark Brouwer <[email protected]> Wed, 12 Dec 2007 18:49:00 +0100
Newsgroups gmane.comp.java.sun.jini
Message-ID <[email protected]>
Cornelius, Martin (DWBI) wrote:
> Hi Bob, you wrote:
> 
>> FYI, you might try HttpServerEndpoint rather than TcpServerEndpoint,
>> you should find its performance closer to that of JRMP.
> 
> Of course, it is ! With JERI/HttpServerEndpoint, the throughput is just
> about factor 2 lower than with JRMP. Hence, the multiplexing performed
> by TcpEndpoint indeed seems to be in duty for some of the performance
> differences. 
> 
> BTW, i just convinced myself that multiplexing not only is engaged if
> concurrent calls between 2 specific objects are processed (what i
> thought so far), but that remote method invocations from multiple
> clients on VM A to multiple servers on VM B are multiplexed onto one
> socket, if the servers are exported via the same exporter. This is a
> really usefull feature for us, as we are urged to use as little sockets
> as possible.

Almost correct Martin, an exporter can only export a single remote
object, otherwise an IllegalStateException is thrown. But you can create
multiple exporters that have the same ServerEndpoint instance, so if
your server constraints are equal for each exported object and in case
of security they can operate under the same identity you get what you want.

Note though that the mux protocol is only used by the
Tcp(Server)Endpoints and the Kerberos(Server)Endpoints.
-- 
Mark

--------------------------------------------------------------------------
Getting Started:     http://www.jini.org/wiki/Category:Getting_Started
Community Web Site:  http://jini.org
jini-users Archive:  http://archives.java.sun.com/archives/jini-users.html
Unsubscribing:       email "signoff JINI-USERS"  to [email protected]