BenchmarkSQLHBase
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:A fork of the BenchMarkSQL, http://sourceforge.net/projects/benchmarksql/, to run atop Apache Derby and with a console version supporting multiple clients with disjoint warehouses,
*****************************************************************************************
Change Log:

12/08/2011 rmpvilaca  - Add startWarehouse parameter to allow multiple benchmark instances on disjoint warehouses. 
05/08/2011 rmpvilaca  - Add console version.
05/08/2011 ivankelly  - Modified to run with Derby.

*****************************************************************************************



# Instructions for building
-------------------------

Use of JDK 1.5 is recommended, build with "ant jar" from the command line of 
the base directory or use your favorite IDE such as Netbeans or Eclipse.  


# Instructions for running
------------------------
The below scripts all use relative paths, but, they depend on JAVA_HOME
environment variable being set so that the correct runtime can be found.

JDBC drivers and sample "?.properties" files are included to make it extremely easy for
you to test out the performance of EnterpriseDB, PostgreSQL, MySQL, Oracle, DB2, & SQL Svr
in your environment.


Any special instructions by DBMS are prefaced  by , else just substitute the appropriate properties file in the command lines below
.sh or .bat script suffixes are NOT indicated below; specify as appropriate

1. Go to the 'run' directory, edit the appropriate "??????.properties" file to 
   point to the database instance you'd like to test.   

2. Run the "sqlTableCreates" to create the base tables.

        $ runSQL.sh derbySQL.properties sqlTableCreates

3. Run the "runSQL.sh" command file to execute the SQL script "sqlPKIndexCreates" to 
   create the primary keys on the tables.

        $  runSQL.sh derbySQL.properties sqlPKIndexCreates

4. Run the "loadData" command file to load all of the default data for a benchmark:


  A.) Approximately half a million rows in total will be loaded across 9 tables
      per Warehouse.  (The default is numWarehouses=1)  A decent test size of data
      totaling about 1 GB is 10 warehouses as follows:
        $ loadData derbySQL.properties numWarehouses 10
      Note: "loadData" will truncate all tables prior to inserting data through the JDBC program
      
      There is also a "sqlTableDrops" script  if you need it. If needed, run
         $ runSQL.sh derbySQL.properties sqlTableDrops

  B.) Alternatively, you may choose to generate the load data out to CSV files that can be 
      bulk loaded as follows:
        $ loadData derbySQL.properties numWarehouses 10 fileLocation ./csv/      (directory BenchmarkSQL-2.3.2/run/csv used in this example)
        
      These CSV files can be bulk loaded into Derby via the following:
        $  runSQL.sh derbySQL.properties sqlTableCopies_Derby

      You may clean out the data in the tables without dropping them via:
        $  runSQL.sh derbySQL.properties sqlTableTruncates

5. Run the "runSQL.sh" command file to execute the SQL script "sqlSKIndexCreates" to 
   create  other indexes on the tables.

        $  runSQL.sh derbySQL.properties sqlSKIndexCreates

6. Run the benchmark:


   A.) "runBenchmarkConsole.sh" command file to execute the console application to
   test the database.  All the parameters to the benchmark (startWarehouse, numWarehouses, numTerminals, default weight per transaction type, minutes, numTerminals) will be the default ones defined in jTPCCConfig.
   For each run, a report will be placed in run/reports.
   A sample report is included."

       $  runBenchmarkConsole.sh derbySQL.properties
     
   The following parameters can be configured from the script in any order and number as follows;

       $  runBenchmarkConsole.sh derbySQL.properties minutes 45 numTerminals 10 numWarehouses 10 startWarehouse 1

   The numWarehouses and startWarehouse are useful to configure several instances of the benchmark with disjoint warehouses. 
   For example with 100 warehouses and 4 benchmark intances they should be run as:
       $  runBenchmarkConsole.sh derbySQL.properties numTerminals 250 numWarehouses 25 startWarehouse 1
       $  runBenchmarkConsole.sh derbySQL.properties numTerminals 250 numWarehouses 25 startWarehouse 26
       $  runBenchmarkConsole.sh derbySQL.properties numTerminals 250 numWarehouses 25 startWarehouse 51
       $  runBenchmarkConsole.sh derbySQL.properties numTerminals 250 numWarehouses 25 startWarehouse 76


   B.) Alternatively, "runBenchmark" command file to execute the swing GUI application to 
   test the database.  Don't forget to set the number of warehouses equal to the
   number you created in step 3. For each run, a report will be placed in run/reports.
   A sample report is included.

       $  runBenchmark.sh derbySQL.properties


7. Operational Notes to minimize GUI problems:  
   (a) executing runBenchmark will start the GUI. 
       Click the Database button to view properties file settings. No changes are needed if the properties settings are correct.
       Click the Terminals button and specify desired settings. 
             Specify the same number of warehouses as you created.
             Select either "Minutes" or "Transactions per terminal" and blank out the other setting.
       Click the Weights button and specify desired settings
       Click the Controls button, then click Create Terminals. One DB connection per Terminal is created. Click Start Transactions to start the benchmark.
   (b) If changing the number of terminals between runs, it is best to close the GUI window and re-execute runBenchmark 
   (c) If the benchmark runs properly, all database connections are terminated at completion. You may need to manually
       terminate connections if this is not the case
   (d) When done, close the GUI window 


# Feedback

Updated source and an issue tracker are available at:

        https://github.com/rmpvilaca/BenchmarkSQLHBase

Your feedback is welcome.

#Contact

Ricardo Vilaca ()

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。