[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference ulysse::rdb_vms_competition

Title:DEC Rdb against the World
Moderator:HERON::GODFRIND
Created:Fri Jun 12 1987
Last Modified:Thu Feb 23 1995
Last Successful Update:Fri Jun 06 1997
Number of topics:1348
Total number of notes:5438

176.0. "Review of Audited Sybase TP1 Report" by DEBIT::DREYFUS () Thu Aug 18 1988 20:39

*************** THIS REPORT IS INTERNAL USE ONLY ***************

Enclosed is a Review of the Sybase TP1 Benchmark as audited by AIM.
I went through the report and:
	
	noted the deficiencies from the Debit/Credit standard
	noted product deficiencies against Rdb
	made some general comments on how their report impacts us.

Please contact me with any questions or comments on the report.
I would like to know what you like, don't like, and want to see more of.


Regards,

David



          DIGITAL       INTEROFFICE MEMORANDUM


          TO:      DBS Competition Inter-    DATE: August 18, 1988
                   est List                  FROM: David Dreyfus
                                             DEPT: Database Systems
                                                   Group
                                             EXT:  381-2893
                                             ENET: DEBIT::DREYFUS


          SUBJECT: Review of the Audited SYBASE TP1 BENCHMARK


          This report is based upon my analysis of the audited SYBASE
          TP1 benchmark, dated 12-MAY-1988. It is intended for in-
          ternal use only.

          The Sybase benchmark results were audited by AIM Technol-
          ogy, Palo Alto, CA 94303, on 14-MAR-1988. AIM provided a
          one page cover letter to a Sybase report dated 12-MAY-1988.
          The cover letter states that Sybase conformed to the TP1
          benchmark standard.


          Promoting TP1

          SYBASE considers TP1 a de facto standard. They state that
          TP1 and Debit/Credit are used interchangeably (by them) and
          tend to blur the distinction between the two in the remain-
          der of the report.

          To my knowledge, there is no TP1 standard. The only stan-
          dard transaction processing (TP) benchmark is Debit/Credit.
          TP1 is a derivative of that benchmark. A comparison of the
          two is provided in Appendix A.

          Using Release 3.0, Sybase achieved 29 TPS with an average
          response time of .68 on a VAX 8700 simulating a workload
          of 600 users with a TP1 benchmark.

 


                                                           Page 2




          The report talks about the need to fully specify how the
          tests were run - including type of logging, buffer sizes,
          and system parameters. However, this information is not in-
          cluded in their report. Some, but not all, of the missing
          information is included in the separately requested appendixes.

          Although SYBASE talks about the importance of a standard
          TP1, they fail to follow the Debit/Credit standard in a num-
          ber of ways: Their database is not big enough for the through-
          put they demonstrate, they don't have enough users on the
          system for the throughput they demonstrate, they report av-
          erage response times instead of 95% 1 second response times,
          they use suspect methods of file partitioning, they don't
          follow the transaction dispersion rules, and others.

          The most obvious deviation from the standard is their sim-
          ulation of 600 users on a 100,000 account record database.
          Sybase should be using 2900 users and 2.9 million account
          records in order to comply with the Debit/Credit standard
          (based upon their demonstrated transaction rate).


          Transaction Generation

          Sybase's simulation of 600 users is suspect. What they re-
          ally do is have 20 processes on a remote machine (VAX 8800)
          continuously submit transactions to the system under test.
          This is very similar to our batch tests where 15-20 batch
          jobs continuously submit transactions. It supports our con-
          tention that Sybase's TP1 is very much like our batch tests
          and is not a measure of OLTP capability.

          Sybase says that they simulate 600 users by assuming that
          20 processes going at one transaction per second is the same
          as 600 users which wait 30 seconds between transactions.
          It is my belief that this logic is faulty. There are a con-
          siderable number of resources consumed in managing hundreds
          or thousands of users. Specifically, there are large mem-
          ory and communication costs in addition to system overhead

 


                                                           Page 3




          that must be paid by each user. Having only 20 processes
          generating the transactions avoids this problem.

          Sybase acknowledges that the standard calls for 100 sec-
          ond delays between transactions. We can only assume that
          there is a big performance hit as you start to have many
          users with long delays. Otherwise, why would they pick '600
          users with a 30 second delay.'

          When we run our tests on Rdb/VMS we support the correct num-
          ber of users. Digital's DECtp numbers reflect the overhead
          of thousands of users. In order to handle these users, our
          tests use TP monitors (like VAX ACMS). The overhead of the
          monitor is reflected in our Debit/Credit results and is gen-
          erally required for TP applications.

          Sybase does not demonstrate the capability to support large
          numbers of users. They do not provide or use a TP monitor.
          Almost any system can handle 20 users, but TP systems must
          handle many more. When we use batch testing methodologies
          (20 batch streams, no monitors), we double our OLTP TPS re-
          sults.


          Transaction Dispersion

          Debit/Credit requires that 15% of all transactions go to
          a branch that doesn't own the required account. This forces
          systems that use multiple databases (distributed databases)
          to incorporate access to multiple databases 15% of the time.
          It also forces systems that can cluster data to bypass the
          clustering optimization 15% of the time.

          By not following the 15% dispersion rule, Sybase can im-
          prove its performance through clustering and caching tech-
          niques.

          Digital follows the Debit/Credit specification, including
          the 15% dispersion rule.

 


                                                           Page 4




          The Database

          Using a database with only 100,000 account records allows
          the database to, in effect, reside in real memory on a VAX
          8700. This, too, is not realistic. Although Sybase states
          that the database should be big enough not to fit into real
          memory, theirs does not appear to be big enough.

          By placing the database in memory, they achieve a high de-
          gree of cache hits. Many of Sybase's performance strate-
          gies operate optimally in small database configurations.
          For example, Sybase uses a capability called 'Fast Commit'.
          With this technique only the log file is written when the
          transaction is committed. The data pages stay in memory in
          case someone else needs the page. The effect is that many
          transactions can share a single IO. If the database is large
          enough, the odds of getting such cache hits are small. With
          a small database the odds of taking advantage of the Fast
          Commit feature are great. Sybase gives a lot of credit to
          Fast Commit for their performance.

          Another method that database managers use to reduce IO and
          CPU costs is data-file partitioning. The ability to par-
          tition data-files across multiple disks can drastically im-
          prove performance. We use Rdb/VMS's multifile database ca-
          pability to partition tables for high performance. Although
          the data is spread over multiple disks, there is still one
          logical table. This is very important for the maintenance
          of database consistency as well as reporting tools. You don't
          want users to have to search multiple physical tables for
          their records.

          In order to improve performance when accessing the History
          tables, they create multiple History tables and use their
          stored procedures to multiplex between them. This violates
          the notion that the History table is a single logical ta-
          ble and violates the terms of the TP1 and (more emphati-
          cally) the Debit/Credit benchmark. Because Sybase uses mul-
          tiple History tables in the benchmark, it would seem that

 


                                                           Page 5




          they don't have the capability to support multidisk tables
          and provide the associated benefits.

          While their stored procedure multiplexes writes to the ta-
          ble, it doesn't handle reads. Each user would have to de-
          termine how to find their data from one or more different
          tables and could not take advantage of common indexing strate-
          gies. Moreover, if the partitioning changes, the stored pro-
          cedure is not changed automatically. Thus, the use of stored
          procedures to maintain partitioned tables can easily lead
          to corrupt databases.


          Configuration Details

          The tests were run on a VAX 8700 driven by a VAX 8800. This
          is similar to style 3 Debit/Credit tests. The VAX 8700 had
          32 megabytes of real memory. They used dual HSC 70's with
          4 RA81's spread across 4 controllers.

          Sybase also ran tests on a MicroVAX II with 16 megabytes
          of real memory, two Fujitsu 2333 disks, and one Fujitsu 2351
          disk on 2 controllers.

          Response time in both tests was linear as the number of trans-
          action generators increased. On the 8700, 50 generators has
          an average response time of 1.78 seconds.

          Logging information is not clearly disclosed. From a care-
          ful reading of their test results, it seems that they do
          not use an after-image log and thereby reduce IO and CPU
          utilization as well as reduce response times.

          I could not find the schema for the benchmark database in
          their report. There is, however, great detail about the ta-
          bles used to collect performance information (which makes
          the report thicker but of no greater value).

          On the MicroVAX II, 25 generators had an average response
          time of 3.9 seconds. The MicroVAX II tests had an average
          of 6.5 TPS (100,000 account records and 10 generators) with
          an average response time of 1.5 seconds.

 


                                                           Page 6




          Testing Methodology

          With Sybase's Fast Commit feature only the transaction log
          needs to be written at transaction commit time. At a user
          controllable time all the dirty-pages (those with new data)
          are written to disk. Through this mechanism, users can con-
          trol how much work is required to recover the database in
          the event of system failure. For these tests, Sybase set
          the value at 5 minutes.

          HOWEVER, THEIR TESTS RUN FOR ONLY THREE MINUTES. This means
          that they do almost no IO during their test runs. Obviously,
          this greatly reduces CPU utilization and dramatically im-
          proves throughput. I assume that had they ran the tests for
          more than three minutes, IO would have increased and per-
          formance would have dropped considerably.

          At 30 TPS for 180 seconds, Sybase only touches 5.4% of the
          accounts in the database. In addition, it is highly prob-
          able that Sybase runs some tests prior to running the bench-
          mark that loads the database into the server's caches. Gen-
          erating a test that touches a small part of an in-memory
          database fails to follow the spirit of TP1 or Debit/Credit
          and definitely fails to model most user applications.


          Response Times

          Sybase measures average response time. They claim that this
          is because their driver program doesn't measure 95% data.
          Since they wrote their driver, why didn't they capture the
          standard data? By recording average response time, trans-
          actions with great delays are masked by those with low re-
          sponse times.

          Debit/Credit requires that the transaction rate be lowered
          until 95% of all transactions complete in less than one sec-
          ond. By reporting average response times, Sybase is able
          to report higher TPS rates than would be achievable under
          Debit/Credit. Moreover, average response times allow Sybase
          to show linearity of growth where none may exist.

 


                                                           Page 7




          Sybase makes a big deal about their average response time
          growing linearly with the number of users. This is precisely
          the result you would expect when using average response times.
          Their results show that they saturate the throughput of the
          machine (either the 8700 or MicroVAX) with five transac-
          tion generators. Then, as users are added, the database server
          time-slices between each user, increasing average response
          time. The same effect can be achieved with any TP monitor
          (such as VAX ACMS).

          A much more useful measure of linear response time is mea-
          sured by following the Debit/Credit standard and measur-
          ing response time as the transaction load increases. In-
          creasing the transaction load requires that an increased
          number of users are supported. Rather than hold through-
          put constant and increase the number of users, the Debit/Credit
          standard requires both throughput and the number of users
          to increase.

          The purpose of this type of scaling is to show that addi-
          tional users can be added to a system, increasing overall
          throughput while maintaining adequate response time. Sybase's
          tests show that as more users are added to the system, no
          more work (throughput) is achieved; but, overall response
          time increases linearly. This is not an acceptable solu-
          tion for most TP applications.


          Linear Growth

          It seems that what Sybase is trying to demonstrate is lin-
          ear growth. An important aspect of system performance is
          the impact of adding additional CPUs to the TP solution.
          The goal is increased performance from increased CPUs. It
          is my understanding that a single database can only be served
          from a single Sybase server. This means that adding CPUs
          to a VAXcluster or to an SMP machine does not provide ad-
          ditional performance. Note that this information may change
          with the next release.

 


                                                           Page 8




          VAX Rdb/VMS provides additional performance in both of these
          cases. Perhaps this is why Sybase concentrates on linear
          user growth rather than linear performance growth.


          Comments and Considerations

          Sybase should be treated cautiously in performance eval-
          uations. Their 29 TPS can predispose prospects towards them.
          It should also be clear, however, that Sybase's 29 TPS can-
          not be compared to the DECtp performance results (11 TPS
          on an 8700).

          The difference in performance numbers puts us at a compet-
          itive disadvantage. We need to stress that Sybase modified
          the database schema, database size, and test methods to the
          point that they effectively tested a small, memory-based
          database in batch mode. This does not demonstrate any ca-
          pability to support OLTP applications. You can be sure that
          if we placed our database in memory and broke all the rules
          for testing performance, we could demonstrate much higher
          performance results.

          Another interesting point that the benchmark reveals is that
          while Sybase claims support for standards, Digital supports
          standards. To what extent is Sybase's support for other stan-
          dards like SQL like their support for Debit/Credit?

 


                                                           Page 9




                Appendix A - Comparing Debit/Credit and TP1

          Originally, Debit/Credit and TP1 were synonymous. Since the
          original definition of Debit/Credit, TP1 has taken on dif-
          ferent meanings.

          Unlike TP1, the requirements for Debit/Credit are well de-
          fined as shown in the April 1, 1985, Datamation article (v31
          p112(5)). Debit/Credit is becoming an industry standard bench-
          mark for OLTP (On-Line Transaction Processing) applications.
          Details of the benchmark are explained in great detail in
          the July, 1988, issue of Competitive Update. Briefly, for
          each transaction per second (TPS) the system must simulate:

                         The Debit/Credit Standard

          o  100 Tellers (users) executing one transaction each 100
             seconds.

          o  A database with:

             o  100,000 Account records

             o  100 Teller records

             o  10 Branch records

             o  2,590,000 History records

          o  Undo/Redo recovery (Rollback/Rollforward)

          o  Form presentation services

          o  15% of the transactions go against an account that is
             not in the teller's branch.

          o  95% of all transactions must complete in under one sec-
             ond.

          o  Duplexed recovery log

 


                                                          Page 10




          Thus, in order to measure 20 TPS the database must have 2
          million account records (20*100,000), 2 thousand teller records,
          2 thousand users (tellers), 2 hundred branches (20*10), etc.
          The size of the system scales with the desired throughput.
          This tends to make the Debit/Credit benchmark more real-
          istic than those that show high throughput on minimal data
          with few users (i.e. TP1).

          Debit/Credit measures two important variables - performance
          and cost. Performance has already been described as through-
          put (TPS) and response time (95% of all transactions com-
          plete in 1 second or less). Cost is determined by adding
          the five year costs of hardware, software, and maintenance
          and dividing by TPS. For example, a million dollar config-
          uration producing 20 TPS costs $50K/TPS.

          Changing any of these parameters can have a profound im-
          pact on performance. We know through our own testing ef-
          forts that performance is easily doubled by reducing the
          database size, number of users, and response time require-
          ments.



                             The TP1 Benchmark

          Vendors who run TP1 will often make substantial changes to
          the Debit/Credit benchmark. The most common changes are:

          o  Reducing the number of Tellers (users).

             For example, using only 100 Tellers for 30 TPS.

          o  Reducing the database size and not scaling size with through-
             put.

             For example, using a 100,000 Account record database for
             30 TPS.

          o  Not using an After Image journal for recovery.

          o  Avoiding the cost of form presentation services.

 


                                                          Page 11




          o  Measuring average response time instead of 95% 1 sec-
             ond response time.

          o  Not measuring network overhead.

          TP1 does a poor job characterizing database performance be-
          cause it uses unrealistic database sizes, numbers of users,
          and performance monitoring. TP1 does an even worse job in
          characterizing total system performance. Database appli-
          cations generally have multiple users who require presen-
          tation services and network services (DECnet). Since each
          vendor's product uses these services differently, they must
          be included in the benchmark. Debit/Credit tests these as-
          pects of system performance; TP1 does not.

          Digital runs the Debit/Credit benchmark.
T.RTitleUserPersonal
Name
DateLines