diff options
Diffstat (limited to 'sql-bench/Comments/postgres.benchmark')
-rw-r--r-- | sql-bench/Comments/postgres.benchmark | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/sql-bench/Comments/postgres.benchmark b/sql-bench/Comments/postgres.benchmark new file mode 100644 index 00000000..c52a5369 --- /dev/null +++ b/sql-bench/Comments/postgres.benchmark @@ -0,0 +1,107 @@ +# This file describes how to run MySQL benchmark suite with PostgreSQL +# +# WARNING: +# +# Don't run the --fast test on a PostgreSQL 7.1.1 database on +# which you have any critical data; During one of our test runs +# PostgreSQL got a corrupted database and all data was destroyed! +# When we tried to restart postmaster, It died with a +# 'no such file or directory' error and never recovered from that! +# +# Another time vacuum() filled our system disk with had 6G free +# while vaccuming a table of 60 M. +# +# WARNING + +# The test was run on a Intel Xeon 2x 550 Mzh machine with 1G memory, +# 9G hard disk. The OS is Suse 7.1, with Linux 2.4.2 compiled with SMP +# support +# Both the perl client and the database server is run +# on the same machine. No other cpu intensive process was used during +# the benchmark. +# +# During the test we run PostgreSQL with -o -F, not async mode (not ACID safe) +# because when we started postmaster without -o -F, PostgreSQL log files +# filled up a 9G disk until postmaster crashed. +# We did however notice that with -o -F, PostgreSQL was a magnitude slower +# than when not using -o -F. + +# +# First, install postgresql-7.1.2.tar.gz + +# Adding the following lines to your ~/.bash_profile or +# corresponding file. If you are using csh, use īsetenvī. + +export POSTGRES_INCLUDE=/usr/local/pg/include +export POSTGRES_LIB=/usr/local/pg/lib + +PATH=$PATH:/usr/local/pg/bin +MANPATH=$MANPATH:/usr/local/pg/man + +# +# Add the following line to /etc/ld.so.conf: +# + +/usr/local/pg/lib + +# and run: + +ldconfig + +# untar the postgres source distribution, cd to postgresql-* +# and run the following commands: + +CFLAGS=-O3 ./configure +gmake +gmake install + +mkdir /usr/local/pg/data +chown postgres /usr/local/pg/data +su - postgres +/usr/local/pg/bin/initdb -D /usr/local/pg/data +/usr/local/pg/bin/postmaster -o -F -D /usr/local/pg/data & +/usr/local/pg/bin/createdb test +exit + +# +# Second, install packages DBD-Pg-1.00.tar.gz and DBI-1.18.tar.gz, +# available from http://www.perl.com/CPAN/ + +export POSTGRES_LIB=/usr/local/pg/lib/ +export POSTGRES_INCLUDE=/usr/local/pg/include/postgresql +perl Makefile.PL +make +make install + +# +# Now we run the test that can be found in the sql-bench directory in the +# MySQL 3.23 source distribution. +# +# We did run two tests: +# The standard test + +run-all-tests --comment="Intel Xeon, 2x550 Mhz, 512M, pg started with -o -F" --user=postgres --server=pg --cmp=mysql + +# When running with --fast we run the following vacuum commands on +# the database between each major update of the tables: +# vacuum anlyze table +# vacuum table +# or +# vacuum analyze +# vacuum + +# The time for vacuum() is accounted for in the book-keeping() column, not +# in the test that updates the database. + +run-all-tests --comment="Intel Xeon, 2x550 Mhz, 512M, pg started with -o -F" --user=postgres --server=pg --cmp=mysql --fast + +# If you want to store the results in a output/RUN-xxx file, you should +# repeate the benchmark with the extra option --log --use-old-result +# This will create a the RUN file based of the previous results + +run-all-tests --comment="Intel Xeon, 2x550 Mhz, 512M, pg started with -o -F" --user=postgres --server=pg --cmp=mysql --log --use-old-result +run-all-tests --comment="Intel Xeon, 2x550 Mhz, 512MG, pg started with -o -F" --user=postgres --server=pg --cmp=mysql --fast --log --use-old-result + +# Between running the different tests we dropped and recreated the PostgreSQL +# database to ensure that PostgreSQL should get a clean start, +# independent of the previous runs. |