94 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			94 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | The MySQL Benchmarks | ||
|  | 
 | ||
|  | These tests require a MySQL version of at least 3.20.28 or 3.21.10. | ||
|  | 
 | ||
|  | Currently the following servers are supported: | ||
|  | MySQL 3.20 and 3.21, PostgreSQL 6.#, mSQL 2.# and Solid Server 2.2 | ||
|  | 
 | ||
|  | The benchmark directory contains the query files and raw data files used to | ||
|  | populate the MySQL benchmark tables. In order to run the benchmarks, you | ||
|  | should normally execute a command such as the following: | ||
|  | 
 | ||
|  | run-all-tests --server=mysql --cmp=mysql,pg,solid --user=test --password=test --log | ||
|  | 
 | ||
|  | This means that you want to run the benchmarks with MySQL. The | ||
|  | limits should be taken from all of MySQL, PostgreSQL, and Solid. | ||
|  | The login name and password for connecting to the server both are | ||
|  | ``test''.  The result should be saved as a RUN file in the output | ||
|  | directory. | ||
|  | 
 | ||
|  | When run-all-tests has finished, will have the individual results and the | ||
|  | the total RUN- file in the output directory. | ||
|  | 
 | ||
|  | If you want to look at some old results, use the compare-results script. | ||
|  | For example: | ||
|  | 
 | ||
|  | compare-results --dir=Results --cmp=mysql,pg,solid | ||
|  | compare-results --dir=Results --cmp=mysql,pg,solid --relative | ||
|  | 
 | ||
|  | compare-results --dir=Results --cmp=msql,mysql,pg,solid | ||
|  | compare-results --dir=Results --cmp=msql,mysql,pg,solid --relative | ||
|  | 
 | ||
|  | compare-results --dir=Results --server=mysql --same-server --cmp=mysql,pg,solid | ||
|  | 
 | ||
|  | Some of the files in the benchmark directory are: | ||
|  | 
 | ||
|  | File			Description | ||
|  | 
 | ||
|  | Data/ATIS		Contains data for 29 related tables used in the ATIS tests. | ||
|  | Data/Wisconsin		Contains data for the Wisconsin benchmark. | ||
|  | Results			Contains old benchmark results. | ||
|  | Makefile.am		Automake Makefile | ||
|  | README			This file. | ||
|  | test-ATIS.sh		Creation of 29 tables and a lot of selects on them. | ||
|  | test-connect.sh		Test how fast a connection to the server is. | ||
|  | test-create.sh		Test how fast a table is created. | ||
|  | test-insert.sh		Test create and fill of a table. | ||
|  | test-wisconsin.sh	A port of the PostgreSQL version of this benchmark. | ||
|  | run-all-tests		Use this to run all tests. When all tests are run, | ||
|  | 			use the --log and --use-old options to get a RUN-file. | ||
|  | compare-results		Generates a comparison table from different RUN files. | ||
|  | server-cfg		Contains the limits and functions for all supported | ||
|  | 			SQL servers.  If you want to add a new server, this | ||
|  | 			should be the only file that neads to be changed. | ||
|  | 
 | ||
|  | 
 | ||
|  | Most of the tests should use portable SQL to make it possible to | ||
|  | compare different databases. Sometimes SQL extensions can make things | ||
|  | a lot faster. In this case the test may use the extensions if the --fast | ||
|  | option is used. | ||
|  | 
 | ||
|  | Useful options to all test-scripts (and run-all-tests): | ||
|  | 
 | ||
|  | --host=#	Hostname for MySQL server (default: localhost) | ||
|  | --db=#		Database to use (default: test) | ||
|  | --fast		Allow use of any non-standard SQL extension to | ||
|  | 		get things done faster. | ||
|  | --lock-tables	Use table locking to get more speed. | ||
|  | 
 | ||
|  | From a text at http://www.mgt.ncu.edu.tw/CSIM/Paper/sixth/11.html: | ||
|  | 
 | ||
|  | The Wisconsin Benchmark | ||
|  | 
 | ||
|  | The Wisconsin Benchmark described in [Bitton, DeWitt, and Turbyfill | ||
|  | 1983] [Boral and DeWitt 1984] [Bitton and Turbyfill 1985] [Bitton and | ||
|  | Turbyfill 1988], and [DeWitt 1993] is the first effort to | ||
|  | systematically measure and compare the performance of relational | ||
|  | database systems with database machines.  The benchmark is a | ||
|  | single-user and single-factor experiment using a synthetic database | ||
|  | and a controlled workload.  It measures the query optimization | ||
|  | performance of database systems with 32 query types to exercise the | ||
|  | components of the proposed systems.  The query suites include | ||
|  | selection, join, projection, aggregate, and simple update queries. | ||
|  | 
 | ||
|  | The test database consists of four generic relations.  The tenk | ||
|  | relation is the key table and most used. Two data types of small | ||
|  | integer numbers and character strings are utilized.  Data values are | ||
|  | uniformly distributed. The primary metric is the query elapsed | ||
|  | time. The main criticisms of the benchmark include the nature of | ||
|  | single-user workload, the simplistic database structure, and the | ||
|  | unrealistic query tests.  A number of efforts have been made to extend | ||
|  | the benchmark to incorporate the multi-user test.  However, they do | ||
|  | not receive the same acceptance as the original Wisconsin benchmark | ||
|  | except an extension work called the AS3AP benchmark. |