arminw 2005/04/25 10:12:07
Modified: src/doc/forrest/src/documentation/content/xdocs/docu/guides
Tag: OJB_1_0_RELEASE performance.xml platforms.xml
src/doc/forrest/src/documentation/content/xdocs/docu/testing
Tag: OJB_1_0_RELEASE testsuite.xml
src/doc/forrest/src/documentation/content/xdocs Tag:
OJB_1_0_RELEASE site.xml
Log:
update internal used table section, performance, test-suite
Revision Changes Path
No revision
No revision
1.1.2.1 +247 -224
db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/guides/performance.xml
Index: performance.xml
===================================================================
RCS file:
/home/cvs/db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/guides/performance.xml,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -u -r1.1 -r1.1.2.1
--- performance.xml 20 Jun 2004 09:12:33 -0000 1.1
+++ performance.xml 25 Apr 2005 17:12:06 -0000 1.1.2.1
@@ -49,7 +49,10 @@
access by forming an additional software layer between
business logic
and RDBMS. Introducing new software layers always eats up
additional
computing resources.
- <br/>In short: the price for using O/R tools is performance.
+ <br/>In short: the price for using O/R tools is performance.
But on the
+ other hand the biggest performance consumption is the
database access itself
+ (database performance, network performance, jdbc driver,
driver settings, ...).
+ So the percentage of O/R tool performance consumption isn't
big.
</p>
<p>
@@ -106,276 +109,289 @@
refer to this
<link href="site:platform">document for details</link>.
</p>
- </section>
- <section>
- <title>Interpreting test results</title>
- <p>
- Interpreting the result of these benchmarks carefully will
help to
- decide whether using OJB is viable for specific application
scenarios
- or if native JDBC programming should be used for performance
reasons.
- </p>
- <p>
- Take care of compareable configuration properties when run
- performance tests with different O/R tools.
- </p>
- <p>
- If the decision made to use an O/R mapping tool the
comparison with
- other tools helps to find the best one for the thought
scenario.
- But performance shouldn't be the only reason to take a
specific
- O/R tool. There are many other points to consider:
- </p>
- <p>
- - Usability of the supported API's
- <br/>- Flexibility of the framework
- <br/>- Scalability of the framework
- <br/>- Community support
- <br/>- The different licences of Open Source projects
- <br/>- etcetera ...
- </p>
-
- </section>
+ <section>
+ <title>Interpreting test results</title>
+ <p>
+ Interpreting the result of these benchmarks carefully
will help to
+ decide whether using OJB is viable for specific
application scenarios
+ or if native JDBC programming should be used for
performance reasons.
+ </p>
+ <p>
+ Take care of compareable configuration properties when
run
+ performance tests with different O/R tools.
+ </p>
+ <p>
+ If the decision made to use an O/R mapping tool the
comparison with
+ other tools helps to find the best one for the thought
scenario.
+ But performance shouldn't be the only reason to take a
specific
+ O/R tool. There are many other points to consider:
+ </p>
+ <p>
+ - Usability of the supported API's
+ <br/>- Flexibility of the framework
+ <br/>- Scalability of the framework
+ <br/>- Community support
+ <br/>- The different licences of Open Source projects
+ <br/>- etcetera ...
+ </p>
+ </section>
- <anchor id="compares-to-native"/>
- <section>
- <title>How OJB compares to native JDBC programming?</title>
- <p>
- OJB is shipped with tests compares native JDBC with ODMG and
- PB-API implementation.
- This part of the test suite is integrated into the OJB build
mechanism.
- <br/>
- A single client test you can
- invoke it by typing
- <code>ant performance</code> or
- <code>ant performance</code>.
- </p>
- <p>
- If running OJB out of the box the tests will be performed
against
- the Hypersonic SQL shipped with OJB. A typical output looks
like
- follows:
+ <anchor id="compares-to-native"/>
+ <section>
+ <title>How OJB compares to native JDBC programming -
single-threaded</title>
+ <p>
+ OJB is shipped with tests compares native JDBC with ODMG
and
+ PB-API implementation.
+ This part of the test suite is integrated into the OJB
build mechanism.
+ <br/>
+ A single client test you can
+ invoke it by typing
+ <code>ant performance</code> or
+ <code>ant performance</code>.
</p>
- <source><![CDATA[
+
+ <p>
+ If running OJB out of the box the tests will be
performed against
+ the Hypersonic SQL shipped with OJB. A typical output
looks like
+ follows:
+ </p>
+ <source><![CDATA[
performance:
[ojb] .[performance] INFO: Test for PB-api
[ojb] [performance] INFO:
- [ojb] [performance] INFO: inserting 2500 Objects: 3257 msec
- [ojb] [performance] INFO: updating 2500 Objects: 1396 msec
- [ojb] [performance] INFO: querying 2500 Objects: 1322 msec
- [ojb] [performance] INFO: querying 2500 Objects: 26 msec
- [ojb] [performance] INFO: fetching 2500 Objects: 495 msec
- [ojb] [performance] INFO: deleting 2500 Objects: 592 msec
+ [ojb] [performance] INFO: inserting 1500 Objects: 625 msec
+ [ojb] [performance] INFO: updating 1500 Objects: 375 msec
+ [ojb] [performance] INFO: querying 1500 Objects: 31 msec
+ [ojb] [performance] INFO: querying 1500 Objects: 16 msec
+ [ojb] [performance] INFO: fetching 1500 Objects: 188 msec
+ [ojb] [performance] INFO: deleting 1500 Objects: 140 msec
[ojb] [performance] INFO:
- [ojb] [performance] INFO: inserting 2500 Objects: 869 msec
- [ojb] [performance] INFO: updating 2500 Objects: 1567 msec
- [ojb] [performance] INFO: querying 2500 Objects: 734 msec
- [ojb] [performance] INFO: querying 2500 Objects: 20 msec
- [ojb] [performance] INFO: fetching 2500 Objects: 288 msec
- [ojb] [performance] INFO: deleting 2500 Objects: 447 msec
+ [ojb] [performance] INFO: inserting 1500 Objects: 188 msec
+ [ojb] [performance] INFO: updating 1500 Objects: 265 msec
+ [ojb] [performance] INFO: querying 1500 Objects: 0 msec
+ [ojb] [performance] INFO: querying 1500 Objects: 0 msec
+ [ojb] [performance] INFO: fetching 1500 Objects: 16 msec
+ [ojb] [performance] INFO: deleting 1500 Objects: 63 msec
[ojb] [performance] INFO:
- [ojb] [performance] INFO: inserting 2500 Objects: 979 msec
- [ojb] [performance] INFO: updating 2500 Objects: 1240 msec
- [ojb] [performance] INFO: querying 2500 Objects: 741 msec
- [ojb] [performance] INFO: querying 2500 Objects: 18 msec
- [ojb] [performance] INFO: fetching 2500 Objects: 289 msec
- [ojb] [performance] INFO: deleting 2500 Objects: 446 msec
+ [ojb] [performance] INFO: inserting 1500 Objects: 187 msec
+ [ojb] [performance] INFO: updating 1500 Objects: 282 msec
+ [ojb] [performance] INFO: querying 1500 Objects: 15 msec
+ [ojb] [performance] INFO: querying 1500 Objects: 0 msec
+ [ojb] [performance] INFO: fetching 1500 Objects: 31 msec
+ [ojb] [performance] INFO: deleting 1500 Objects: 110 msec
- [ojb] Time: 18,964
+ [ojb] Time: 5,672
[ojb] OK (1 test)
- [jdbc] .[performance] INFO: Test for native JDBC
+ [jdbc] .[performance] INFO: Test for JDBC
[jdbc] [performance] INFO:
- [jdbc] [performance] INFO: inserting 2500 Objects: 651 msec
- [jdbc] [performance] INFO: updating 2500 Objects: 775 msec
- [jdbc] [performance] INFO: querying 2500 Objects: 616 msec
- [jdbc] [performance] INFO: querying 2500 Objects: 384 msec
- [jdbc] [performance] INFO: fetching 2500 Objects: 49 msec
- [jdbc] [performance] INFO: deleting 2500 Objects: 213 msec
+ [jdbc] [performance] INFO: inserting 1500 Objects: 219 msec
+ [jdbc] [performance] INFO: updating 1500 Objects: 219 msec
+ [jdbc] [performance] INFO: querying 1500 Objects: 187 msec
+ [jdbc] [performance] INFO: querying 1500 Objects: 94 msec
+ [jdbc] [performance] INFO: fetching 1500 Objects: 16 msec
+ [jdbc] [performance] INFO: deleting 1500 Objects: 62 msec
[jdbc] [performance] INFO:
- [jdbc] [performance] INFO: inserting 2500 Objects: 508 msec
- [jdbc] [performance] INFO: updating 2500 Objects: 686 msec
- [jdbc] [performance] INFO: querying 2500 Objects: 390 msec
- [jdbc] [performance] INFO: querying 2500 Objects: 360 msec
- [jdbc] [performance] INFO: fetching 2500 Objects: 46 msec
- [jdbc] [performance] INFO: deleting 2500 Objects: 204 msec
+ [jdbc] [performance] INFO: inserting 1500 Objects: 157 msec
+ [jdbc] [performance] INFO: updating 1500 Objects: 187 msec
+ [jdbc] [performance] INFO: querying 1500 Objects: 94 msec
+ [jdbc] [performance] INFO: querying 1500 Objects: 94 msec
+ [jdbc] [performance] INFO: fetching 1500 Objects: 16 msec
+ [jdbc] [performance] INFO: deleting 1500 Objects: 62 msec
[jdbc] [performance] INFO:
- [jdbc] [performance] INFO: inserting 2500 Objects: 538 msec
- [jdbc] [performance] INFO: updating 2500 Objects: 775 msec
- [jdbc] [performance] INFO: querying 2500 Objects: 384 msec
- [jdbc] [performance] INFO: querying 2500 Objects: 360 msec
- [jdbc] [performance] INFO: fetching 2500 Objects: 48 msec
- [jdbc] [performance] INFO: deleting 2500 Objects: 204 msec
+ [jdbc] [performance] INFO: inserting 1500 Objects: 125 msec
+ [jdbc] [performance] INFO: updating 1500 Objects: 219 msec
+ [jdbc] [performance] INFO: querying 1500 Objects: 109 msec
+ [jdbc] [performance] INFO: querying 1500 Objects: 110 msec
+ [jdbc] [performance] INFO: fetching 1500 Objects: 0 msec
+ [jdbc] [performance] INFO: deleting 1500 Objects: 62 msec
- [jdbc] Time: 18,363
+ [jdbc] Time: 8,75
[jdbc] OK (1 test)
[odmg] .[performance] INFO: Test for ODMG-api
[odmg] [performance] INFO:
- [odmg] [performance] INFO: inserting 2500 Objects: 12151 msec
- [odmg] [performance] INFO: updating 2500 Objects: 2937 msec
- [odmg] [performance] INFO: querying 2500 Objects: 4691 msec
- [odmg] [performance] INFO: querying 2500 Objects: 2239 msec
- [odmg] [performance] INFO: fetching 2500 Objects: 1633 msec
- [odmg] [performance] INFO: deleting 2500 Objects: 1815 msec
+ [odmg] [performance] INFO: inserting 1500 Objects: 750 msec
+ [odmg] [performance] INFO: updating 1500 Objects: 516 msec
+ [odmg] [performance] INFO: querying 1500 Objects: 1484 msec
+ [odmg] [performance] INFO: querying 1500 Objects: 547 msec
+ [odmg] [performance] INFO: fetching 1500 Objects: 78 msec
+ [odmg] [performance] INFO: deleting 1500 Objects: 218 msec
[odmg] [performance] INFO:
- [odmg] [performance] INFO: inserting 2500 Objects: 2483 msec
- [odmg] [performance] INFO: updating 2500 Objects: 2868 msec
- [odmg] [performance] INFO: querying 2500 Objects: 3272 msec
- [odmg] [performance] INFO: querying 2500 Objects: 2223 msec
- [odmg] [performance] INFO: fetching 2500 Objects: 1038 msec
- [odmg] [performance] INFO: deleting 2500 Objects: 1717 msec
+ [odmg] [performance] INFO: inserting 1500 Objects: 266 msec
+ [odmg] [performance] INFO: updating 1500 Objects: 359 msec
+ [odmg] [performance] INFO: querying 1500 Objects: 531 msec
+ [odmg] [performance] INFO: querying 1500 Objects: 531 msec
+ [odmg] [performance] INFO: fetching 1500 Objects: 47 msec
+ [odmg] [performance] INFO: deleting 1500 Objects: 125 msec
[odmg] [performance] INFO:
- [odmg] [performance] INFO: inserting 2500 Objects: 2666 msec
- [odmg] [performance] INFO: updating 2500 Objects: 2841 msec
- [odmg] [performance] INFO: querying 2500 Objects: 2092 msec
- [odmg] [performance] INFO: querying 2500 Objects: 2161 msec
- [odmg] [performance] INFO: fetching 2500 Objects: 1036 msec
- [odmg] [performance] INFO: deleting 2500 Objects: 1741 msec
-
- [odmg] Time: 55,186]]></source>
- <p>
- Some notes on these test results:
+ [odmg] [performance] INFO: inserting 1500 Objects: 282 msec
+ [odmg] [performance] INFO: updating 1500 Objects: 375 msec
+ [odmg] [performance] INFO: querying 1500 Objects: 546 msec
+ [odmg] [performance] INFO: querying 1500 Objects: 532 msec
+ [odmg] [performance] INFO: fetching 1500 Objects: 31 msec
+ [odmg] [performance] INFO: deleting 1500 Objects: 156 msec
+
+ [odmg] Time: 13,75
+
+ [odmg] OK (1 test)]]></source>
+ <p>
+ Some notes on these test results:
+ </p>
+ <ul>
+ <li>
+ You see a consistently better performance in the
second and third run.
+ this is caused by warming up effects of JVM and
OJB.
+ </li>
+ <li>
+ PB and native JDBC need about the same time for
the three runs although JDBC
+ performance is better for most operations.
+ This is caused by the second run of the querying
operations.
+ In the second run OJB can load all objects from
the cache, thus the time is
+ <strong>much</strong> shorter.
+ Hence the interesting result: if you have an
application that has a lot of lookups,
+ OJB can be faster than a native JDBC application
(without caching extensions)!
+ </li>
+ <li>
+ ODMG is much slower than PB or JDBC. This is due
to the complex object level
+ transaction management it is doing and the fact
that ODMG doesn't have a specific
+ method to lookup objects by it's identity. The
second reason is responsible for
+ slow <em>querying</em> results, because in test
always a complex query is done for
+ each object. It is possible to use the PB-api
within ODMG, then the query by identity
+ will be as fast as in PB-api.
+ </li>
+ <li>
+ You can see that for HSQLDB operations like
insert and update are faster with
+ JDBC than with PB. This performance difference
strongly depends on the used
+ <link href="site:object-cache">cache
implementation</link> and can rise up
+ to 50% when the cache operate on object copies.
+ This ratio is so high, because HSQLDB was
running with <em>in memory mode</em> and
+ is much faster than ordinary database servers.
+ If you work against Oracle or DB2 the percentual
OJB overhead is going down a
+ lot (10 - 15 %), as the database latency is much
longer than the OJB overhead.
+ </li>
+ </ul>
+ <p>
+ It's easy to change target database. Please
+ refer to this
+ <link href="platforms.html">document for details</link>.
+ <br/>
+ Also it's possible to change the number of test objects
by
+ editing the ant-target in build.xml.
</p>
- <ul>
- <li>
- You see a consistently better performance in the
second and third run.
- this is caused by warming up effects of JVM and OJB.
- </li>
- <li>
- PB and native JDBC need about the same time for the
three runs although JDBC performance is better for most operations.
- this is caused by the second run of the querying
operations.
- In the second run OJB can load all objects from the
cache, thus the time is
- <strong>much</strong> shorter.
- Hence the interesting result: if you have an
application that has a lot of lookups, OJB can be faster than a native JDBC
application!
- </li>
- <li>
- ODMG is much slower than PB or JDBC. This is due to
the complex object level transaction management it is doing.
- </li>
- <li>
- You can see that for HSQLDB operations like insert
and update are much faster with JDBC than with PB (60% and more).
- This ratio is so high, because HSQLDB is much faster
than ordinary database servers (as it's inmemory).
- If you work against Oracle or DB2 the percentual OJB
overhead is going down a lot (10 - 15 %), as the database latency is much
longer than the OJB overhead.
- </li>
- </ul>
- <p>
- It's easy to change target database. Please
- refer to this
- <link href="platforms.html">document for details</link>.
- <br/>
- Also it's possible to change the number of test objects by
- editing the ant-target in build.xml.
- </p>
- <p>
- Another test compares PB-api,ODMG-api and native JDBC you
can find
- <link href="#multithreaded-performance">next section</link>.
- </p>
- </section>
+ <p>
+ Another test compares PB-api,ODMG-api and native JDBC
you can find
+ <link href="#multithreaded-performance">next
section</link>.
+ </p>
+ </section>
- <anchor id="multithreaded-performance"/>
- <section>
- <title>OJB performance in multi-threaded environments</title>
- <p>
- This test was created to check the performance and stability
of the
- supported API's (PB-api, ODMG-api, JDO-api) in a
multithreaded environment.
- Also this test compares the api's and native JDBC.
- <br/>
- Running this test out of the box (a virgin OJB version
against hsql) shouldn't cause any problems.
- To run the JDO-api test too, see
- <link href="site:jdo-tutorial">JDO tutorial</link> and
comment in
- the test in target
- <code>perf-test</code> in
- <code>build.xml</code>
- </p>
- <fixme author="arminw">
- A test for JDO API is missed.
- </fixme>
- <p>
- Per default OJB use hsql as database, by changing the
JdbcConnectionDescriptor
- in the repository.xml file you can point to your specific
RDBMS. Please
- refer to this
- <link href="site:platform">document for details</link>.
- </p>
-
- <p>
- To run the multithreaded performance test call
+ <anchor id="multithreaded-performance"/>
+ <section>
+ <title>OJB performance in multi-threaded environments</title>
+ <p>
+ This test was created to check the performance and
stability of the
+ supported API's (PB-api, ODMG-api, JDO-api) in a
multithreaded environment.
+ Also this test compares the api's and native JDBC.
+ <br/>
+ Running this test out of the box (a virgin OJB version
against hsql) shouldn't cause any problems.
+ To run the JDO-api test too, see
+ <link href="site:jdo-tutorial">JDO tutorial</link> and
comment in
+ the test in target
+ <code>perf-test</code> in
+ <code>build.xml</code>
</p>
- <source><![CDATA[
-ant perf-test]]></source>
- <p>
- A typical output of this test looks like (OJB against hsql
server, 2-tier, 100 MBit network):
+ <fixme author="arminw">
+ A test for JDO API is missed.
+ </fixme>
+ <p>
+ Per default OJB use hsql as database, by changing the
JdbcConnectionDescriptor
+ in the repository.xml file you can point to your
specific RDBMS. Please
+ refer to this
+ <link href="site:platform">document for details</link>.
</p>
- <source><![CDATA[
-[ojb] ========================================================
+
+ <p>
+ To run the multithreaded performance test call
+ </p>
+ <source><![CDATA[
+ ant perf-test]]></source>
+ <p>
+ A typical output of this test looks like (OJB against
hsql server, 2-tier, 100 MBit network):
+ </p>
+ <source><![CDATA[
+[ojb] ================================================================
[ojb] OJB PERFORMANCE TEST SUMMARY
-[ojb] 10 concurrent threads, handle 2000 objects per thread
-[ojb] - performance mode
-[ojb] ========================================================
-[ojb] API Period Total Insert Fetch Update Delete
-[ojb] [sec] [sec] [msec] [msec] [msec] [msec]
-[ojb] --------------------------------------------------------
-[ojb] JDBC 7.786 7.374 3951 76 2435 911
-[ojb] PB 9.807 8.333 5096 121 2192 922
-[ojb] ODMG 19.562 18.205 8432 1488 5064 3219
-[ojb] OTM 24.953 21.272 10688 223 4326 6033
-[ojb] ========================================================
-
-[ojb] PerfTest takes 191 [sec]
- ]]></source>
- <p>
- To change the test properties go to target
- <code>perf-test</code>
- in the
- <code>build.xml</code> file and change the program parameter.
- <br/>
- The test needs five parameter:
- <br/>- A comma separated list of the test implementation
classes (no blanks!)
- <br/>- The number of test loops
- <br/>- The number of concurrent threads
- <br/>- The number of managed objects per thread
- <br/>- The desired test mode.
- <code>false</code> means run in
- performance mode,
- <code>true</code> means run in stress mode
- (useful only for developer to check stability).
- </p>
- <source><![CDATA[
+[ojb] 12 concurrent threads, handle 500 objects per thread
+[ojb] - performance mode - results per thread
+[ojb] ================================================================
+[ojb] API Period Total Total Insert Fetch Update Delete
+[ojb] [sec] [sec] [%] [msec] [msec] [msec] [msec]
+[ojb] ----------------------------------------------------------------
+[ojb] JDBC 2.533 2.243 100 1215 29 731 266
+[ojb] PB 3.181 2.835 126 1397 89 940 409
+[ojb] ODMG 3.862 2.965 132 1526 63 902 472
+[ojb] OTM 5.846 5.225 233 2720 70 1424 1009
+[ojb] ================================================================
+
+[ojb] PerfTest takes 125 [sec]]]></source>
+ <p>
+ To change the test properties go to target
+ <code>perf-test</code>
+ in the
+ <code>build.xml</code> file and change the program
parameter.
+ <br/>
+ The test needs five parameter:
+ <br/>- A comma separated list of the test implementation
classes (no blanks!)
+ <br/>- The number of test loops
+ <br/>- The number of concurrent threads
+ <br/>- The number of managed objects per thread
+ <br/>- The desired test mode.
+ <code>false</code> means run in
+ performance mode,
+ <code>true</code> means run in stress mode
+ (useful only for developer to check stability).
+ </p>
+ <source><![CDATA[
<target name="perf-test" depends="prepare-testdb"
- description="Simple performance benchmark and stress test for
PB- and ODMG-api">
+ description="Simple performance benchmark and stress test for PB-
and ODMG-api">
<java fork="yes" classname="org.apache.ojb.performance.PerfMain"
dir="${build.test}/ojb" taskname="ojb" failonerror="true" >
<classpath refid="runtime-classpath"/>
-
<!-- comma separated list of the PerfTest implementations -->
<arg value=
- "org.apache.ojb.broker.OJBPerfTest$JdbcPerfTest,\
- org.apache.ojb.broker.OJBPerfTest$PBPerfTest,\
- org.apache.ojb.broker.OJBPerfTest$ODMGPerfTest,\
+ "org.apache.ojb.broker.OJBPerfTest$JdbcPerfTest,
+ org.apache.ojb.broker.OJBPerfTest$PBPerfTest,
+ org.apache.ojb.broker.OJBPerfTest$ODMGPerfTest,
org.apache.ojb.broker.OJBPerfTest$OTMPerfTest"
/>
- <!-- test loops, default was 3 -->
- <arg value="3"/>
- <!-- performed threads, default was 10 -->
- <arg value="10"/>
- <!-- number of managed objects per thread, default was 2000 -->
- <arg value="2000"/>
- <!-- if 'false' we use performance mode, 'true' we do run in stress
mode -->
+ <arg value="6"/>
+ <!-- test loops, default was 6 -->
+ <arg value="12"/>
+ <!-- performed threads, default was 12 -->
+ <arg value="500"/>
+ <!-- number of managed objects per thread, default was 500 -->
<arg value="false"/>
+ <!-- if 'false' we use performance mode, 'true' we do run in stress
mode -->
<jvmarg value="-Xms128m"/>
<jvmarg value="-Xmx256m"/>
</java>
<!-- do some cleanup -->
<ant target="copy-testdb"/>
-</target>
- ]]></source>
+</target>]]></source>
+ </section>
+
</section>
+
<anchor id="compares-to-other"/>
<section>
<title>How OJB compares to other O/R mapping tools?</title>
@@ -406,7 +422,7 @@
<li>Implement a class derived from
<link
href="ext:api/perf-handle"><code>PerfHandle</code></link>
</li>
- <li>[If persistent objects used within your mapping tool
must be derived from a specific
+ <li>[If persistent objects (used within your mapping
tool) must be derived from a specific
base class or must be implement a specific interface
write your own persistent
object class by implementing
<link
href="ext:api/perf-article"><code>PerfArticle</code></link>
@@ -500,7 +516,8 @@
<section>
<title>What are the best settings for maximal
performance?</title>
<p>
- We don't know, that depends from the environment OJB runs
(hardware, database, driver, application server, ...).
+ We don't know, that depends from the environment OJB runs
(hardware, database,
+ driver, application server, ...).
But there are some settings which affect the performance:
</p>
<ul>
@@ -509,6 +526,9 @@
<link href="site:faq/api-differences">which
API</link> for more information.
</li>
<li>
+ The used <link href="site:object-cache">cache
implementation</link>.
+ </li>
+ <li>
ConnectionFactory implementation / Connection
pooling. See
<link href="site:faq">connection pooling</link>
for more information.
@@ -533,6 +553,9 @@
PersistenceBroker pool size. See
<link
href="ext:ojb.properties">OJB.properties</link> for more information.
</li>
+ <li>
+ The <em>JDBC driver</em> settings (e.g. statement
caching on/off).
+ </li>
</ul>
<p>
To test the different settings use the tests of the
1.1.2.3 +4 -5
db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/guides/platforms.xml
Index: platforms.xml
===================================================================
RCS file:
/home/cvs/db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/guides/platforms.xml,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- platforms.xml 7 Apr 2005 21:55:52 -0000 1.1.2.2
+++ platforms.xml 25 Apr 2005 17:12:06 -0000 1.1.2.3
@@ -80,16 +80,15 @@
<source><![CDATA[
<table name="OJB_HL_SEQ" description="HIGH/LOW SequenceManager table">
<column name="TABLENAME" required="true" primaryKey="true"
- type="VARCHAR" size="175"/>
- <column name="FIELDNAME" required="true" primaryKey="true"
- type="VARCHAR" size="70"/>
+ type="VARCHAR" size="250"/>
<column name="MAX_KEY" type="BIGINT"/>
<column name="GRAB_SIZE" type="INTEGER"/>
<column name="VERSION" type="INTEGER"/>
</table>]]></source>
</td>
<td>
- Table for the high/low sequence manager.
+ Table for the high/low sequence manager. The
column <em>TABLENAME</em> was used
+ to persist the sequence name (may be re-named in
further versions of OJB).
<br/>
If the built-in OJB sequence manager is not
used, this table is not needed.
</td>
No revision
No revision
1.1.2.3 +17 -2
db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/testing/testsuite.xml
Index: testsuite.xml
===================================================================
RCS file:
/home/cvs/db-ojb/src/doc/forrest/src/documentation/content/xdocs/docu/testing/testsuite.xml,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- testsuite.xml 7 Apr 2005 21:55:52 -0000 1.1.2.2
+++ testsuite.xml 25 Apr 2005 17:12:06 -0000 1.1.2.3
@@ -36,12 +36,27 @@
</p>
<p>
Quality assurance taken seriously! OJB and provide specific
tests for each
- supported API. Currently more than 600 test cases for
regression tests exist.
+ supported API. Currently more than 800 test cases for
regression tests exist.
As testing framework
<link href="ext:junit">JUnit</link> was used.
</p>
+
+
+ <anchor id="location"/>
+ <section>
+ <title>Where can I find the test sources?</title>
+ <p>
+ The test sources of the <em>OJB Test-Suite</em> can be
find under
+
<strong><code>[db-ojb]/src/test/org/apache/ojb</code></strong>.
+ <br/>
+ It's also possible to browse the test sources online
using the
+ <link href="ext:cvs-index"><em>apache cvs
view</em></link>. The test directory can be found here:
+ <link
href="ext:cvs-view-tests"><strong><code>[db-ojb]/src/test/org/apache/ojb</code></strong></link>.
+ </p>
+ </section>
</section>
+
<anchor id="run-test-suite"/>
<section>
<title>How to run the Test Suite</title>
No revision
No revision
1.3.2.15 +3 -2
db-ojb/src/doc/forrest/src/documentation/content/xdocs/site.xml
Index: site.xml
===================================================================
RCS file:
/home/cvs/db-ojb/src/doc/forrest/src/documentation/content/xdocs/site.xml,v
retrieving revision 1.3.2.14
retrieving revision 1.3.2.15
diff -u -r1.3.2.14 -r1.3.2.15
--- site.xml 9 Apr 2005 22:53:58 -0000 1.3.2.14
+++ site.xml 25 Apr 2005 17:12:07 -0000 1.3.2.15
@@ -261,7 +261,8 @@
<binaries-version
href="http://www.apache.org/dyn/closer.cgi/db/ojb/"/>
<source-version
href="http://www.apache.org/dyn/closer.cgi/db/ojb/"/>
<cvs-view href="http://cvs.apache.org/viewcvs/db-ojb/"/>
- <cvs-index href="http://jakarta.apache.org/site/cvsindex.html"/>
+ <cvs-view-tests
href="http://cvs.apache.org/viewcvs/db-ojb/src/test/org/apache/ojb/"/>
+ <cvs-index href="http://cvs.apache.org/viewcvs/"/>
<license-site href="http://www.apache.org/LICENSE"/>
<mail>
<user>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]