Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8361835
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 9, 20262026-06-09T11:47:37+00:00 2026-06-09T11:47:37+00:00

There are a few transports available for OpenEJB 4.0.0: ejbd ejbds httpejbd Which one

  • 0

There are a few transports available for OpenEJB 4.0.0:

  1. ejbd
  2. ejbds
  3. httpejbd

Which one is lighter on the network?

Which one is faster?

Are there any pros and cons of choosing any one of then?

Our application as around 450 clients talking to remote EJBs on a OpenEJB 4.0.0 container. All in a local LAN (but using cascading switches with some redundancy).

Update:

This question is not related to another one on timeouts. We don’t have any timeouts or application problems that we could identify. The application works very well when we have a limited number of clients, but when we try it with hundreds we are facing what seems to be network errors: the server logs show recurring “IoExpcetion unkown byte received”. Since CORBA ORBs has been reported to have broadcast problems, we were suspecting it might be a RMI over IIOP kind of problem. We are going to try other protocol options to compare against our current set up.

Update (2012-oct-08):

we have run hundreds of tests now, with 450+ clients in a LAN. There is no one size fits all answer. If we have very few clients, EJBD is faster. If we have hundreds of clients, EJBD stops working (it seems to cause switch saturation). With hundreds of clients, httpejbd still works (it seems related to the fact that each remote call creates a short duration http request).

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-09T11:47:38+00:00Added an answer on June 9, 2026 at 11:47 am

    httpejbd with Jetty can serve many more clients (thousands) but ejbd is significantly faster in the 10s to low hundreds range.

    This email has some good info on both from a purely performance perspective:

    • http://openejb.979440.n4.nabble.com/Remote-client-performance-td987613.html

    I’ll state once again that the timeouts you’re seeing are not related to the client/server performance. A faster client/server layer will actually increase the contingency in the server and make server-side locking issues more apparent.

    What I’d recommend is dispelling the idea that it is the protocol layer causing your timeout issues. It is more likely the number of clients, not the fact that they are remote. It is possible to execute @Remote beans in the same VM as the server via looking them up from the LocalInitialContextFactory. When this is done you get a client reference that adheres to the remote EJB semantics but does not involve any network plumbing.

    Have this client spawn off 450 threads, each thread and hit the server with continuous requests in a loop and doing the kind of work regular clients do. What you’ll find is you can reach the timeouts with likely far less than 450 threads (i.e. 450 clients).

    Here’s a performance analysis of all the ways you can invoke. This is the same object on the same machine:

    POJO

    • 245,000 TPS — shown for baseline (doesn’t get faster than a pojo invocation)
    • http://people.apache.org/~dblevins/pojo-performance.png

    @Local

    • 212,000 TPS — shows the above, plus the additional cost of basic “EJB” support (interceptors, security, transactions, etc)
    • http://people.apache.org/~dblevins/openejb-3.1.4-local-performance.png

    @Remote via LocalInitialContextFactory, server-side

    • 112,000 TPS — shows the above, plus the additional cost of serialization and pass-by-value remote semantics
    • http://people.apache.org/~dblevins/openejb-3.1.4-remote-serverside-performance.png

    @Remote via RemoteInitialContextFactory, client-side (ejbd)

    • 31,600 TPS — shows the above, plus the additional cost of the network layer
    • http://people.apache.org/~dblevins/openejb-3.1.4-remote-clientside-performance.png

    So if your gut is telling you that it is the network layer slowing things down and result in access timeouts, validate that assumption by creating a small performance test and run it both with the LocalInitialContextFactory and the RemoteInitialContextFactory. The LocalInitialContextFactory will show you the theoretical maximum performance you could expect from any remoting layer.

    If the problem goes away, you were right and you can proceed with efforts to tune the network layer. If the problem persists or becomes worse, then you know the issue is not the network layer and you’ll need to change focus to make progress.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

There are few global variables which are static in one of the header files.
in my page there are few hidden field which are filled with the correct
I'm converting an old VB form to .NET, and there a few Buttons which
There are few webpage which employs some javascript/ajax calls to fill some fields in
I'm making an application in which there are few tabs on each tab click
Is there any application which can take video/screenshot of android device. I know there
To run them together there are few options available but I have chosen using
I am zipping directory which has sub directories and there are few files which
Basically there a few lines which contain a common format, but different wording at
In run.conf of JBoss AS there are few parameters which I am unable to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.