db-ojb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From arm...@apache.org
Subject cvs commit: db-ojb/src/doc/forrest/src/documentation/content/xdocs site.xml
Date Mon, 25 Apr 2005 17:12:07 GMT
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: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org


Mime
View raw message