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.
 |