3 Replies Latest reply on Feb 22, 2005 7:05 AM by Jan Radl

    JBoss benchmarking

    Krishnan Subramanian Newbie

      I'm attempting to benchmark JBoss 4.0 against Borland Enterprise
      Server (BES) 6.0.

      I've been reading a couple of performance tuning articles/papers
      on JBoss. However, I've some trouble figuring out if things apply
      only to a particular 4.0 release, or a 3.2.x or a prior one.

      Let me enumerate through what I have done in 4.0, and what I
      am looking for/have missed (correct me if I am wrong):

      (1) Benchmark uses only Commit Option B in entity beans.
      This is default for JBoss 4.x (as well as BES). Will
      try commit option A at a later stage. No special entry
      needed for Commit Option B in Jboss. Clustering not
      important for this benchmark.
      (2) Jboss: Use of Instance-Per-Transaction Policy. I set
      this in "jboss.xml"

      <ejb-name>....</ejb-name>
      <local-jndi-name>....</local-jndi-name>
      <configuration-name>Instance Per Transaction CMP 2.x EntityBean</configuration-name>

      (3) Jboss: No-select-before-insert (no class name needed?) in
      "jbosscmp-jdbc.xml"

      <ejb-name>....</ejb-name>
      <entity-command name="no-select-before-insert" />

      (4) PreparedStatementCache size
      <local-tx-datasource>
      ...
      <prepared-statement-cache-size>50</prepared-statement-cache-size>
      </local-tx-datasource>
      (5) Jboss: Read-ahead strategy on find: in "jbosscmp-jdbc.xml"

      <ejb-name>...</ejb-name>
      .....
      <read-ahead>
      on-find
      </read-ahead>

      (6) cache list max

      <ejb-name>...</ejb-name>
      .....
      <list-cache-max>5000</list-cache-max>

      (7) Disabled debug in: CachedConnectionManager
      in "jbossjca-service.xml" (debug is false)

      Most/many of the above are already the default in BES, and so
      out-of-the-box performance & scalability is not really a major
      pain. My initial tests on a big multi-CPU box (single JVM)
      showed an out-of-the-box Jboss lagging behind by an order of
      magnitude, but I have the performance difference down to a
      50-100% difference now under the same JDK, identical tuning
      params, etc.

      Questions:
      ==========
      (1) Are the above accurate?
      (2) Any more perf influencing params I have missed?
      (3) Any mechanism to limit the thread pool size
      of the EJB Container?
      (4) Anymore disabling of timers/stats gathering?
      (5) SFSB passivation timeout (default?): disabling?
      (6) .... ?

      Thanks,

      -krish