Tests
Suites
Latest Results
Search
Register
Login
Popular Tests
Timed Linux Kernel Compilation
Stockfish
7-Zip Compression
SVT-AV1
PostgreSQL
FFmpeg
Newest Tests
WarpX
Epoch
Valkey
Whisperfile
XNNPACK
GROMACS
Recently Updated Tests
CP2K Molecular Dynamics
Apache CouchDB
PostgreSQL
NAMD
Apache Cassandra
Opus Codec Encoding
New & Recently Updated Tests
Recently Updated Suites
Database Test Suite
Machine Learning
Steam
New & Recently Updated Suites
Component Benchmarks
CPUs / Processors
GPUs / Graphics
OpenGL
Disks / Storage
Motherboards
File-Systems
Operating Systems
OpenBenchmarking.org
Corporate / Organization Info
Bug Reports / Feature Requests
PostgreSQL pgbench 1.9.1
pts/pgbench-1.9.1
- 04 October 2019 -
Fix heavy contentiob by going off physical CPU cores.
downloads.xml
<?xml version="1.0"?> <!--Phoronix Test Suite v9.0.1--> <PhoronixTestSuite> <Downloads> <Package> <URL>http://ftp.postgresql.org/pub/source/v12.0/postgresql-12.0.tar.bz2</URL> <MD5>87545416ef021eee8621d31a93fcc899</MD5> <SHA256>cda2397215f758b793f741c86be05468257b0e6bcb1a6113882ab5d0df0855c6</SHA256> <FileName>postgresql-12.0.tar.bz2</FileName> <FileSize>20177458</FileSize> <PlatformSpecific>Linux, BSD, Solaris, MacOSX</PlatformSpecific> </Package> <Package> <URL>http://get.enterprisedb.com/postgresql/postgresql-10.3-1-windows-x64-binaries.zip</URL> <MD5>b2ccc4845f4691c58d3c86f9e60c11cf</MD5> <SHA256>9e5cc5c4d8d368042f5e3ad3a2e8a530a8d9ae9e61354ff3dece6462eccfac00</SHA256> <FileName>postgresql-10.3-1-windows-x64-binaries.zip</FileName> <FileSize>198127421</FileSize> <PlatformSpecific>Windows</PlatformSpecific> </Package> </Downloads> </PhoronixTestSuite>
install.sh
#!/bin/sh version=12.0 tar -xjf postgresql-${version}.tar.bz2 rm -rf $HOME/pg_ mkdir -p $HOME/pg_/data/postgresql/extension/ touch $HOME/pg_/data/postgresql/extension/plpgsql.control # Junk up the root checking code so test profiles can easily run as root patch -p0 <<'EOF' diff -Naur postgresql-12.0.orig/src/backend/main/main.c postgresql-12.0/src/backend/main/main.c --- postgresql-12.0.orig/src/backend/main/main.c 2019-09-30 16:06:55.000000000 -0400 +++ postgresql-12.0/src/backend/main/main.c 2019-10-03 09:21:03.854515512 -0400 @@ -59,7 +59,7 @@ int main(int argc, char *argv[]) { - bool do_check_root = true; + bool do_check_root = false; /* * If supported on the current platform, set up a handler to be called if diff -Naur postgresql-12.0.orig/src/bin/initdb/initdb.c postgresql-12.0/src/bin/initdb/initdb.c --- postgresql-12.0.orig/src/bin/initdb/initdb.c 2019-09-30 16:06:55.000000000 -0400 +++ postgresql-12.0/src/bin/initdb/initdb.c 2019-10-03 09:19:35.633986057 -0400 @@ -645,17 +645,6 @@ { const char *username; -#ifndef WIN32 - if (geteuid() == 0) /* 0 is root's uid */ - { - pg_log_error("cannot be run as root"); - fprintf(stderr, - _("Please log in (using, e.g., \"su\") as the (unprivileged) user that will\n" - "own the server process.\n")); - exit(1); - } -#endif - username = get_user_name_or_exit(progname); return pg_strdup(username); diff -Naur postgresql-12.0.orig/src/bin/pg_ctl/pg_ctl.c postgresql-12.0/src/bin/pg_ctl/pg_ctl.c --- postgresql-12.0.orig/src/bin/pg_ctl/pg_ctl.c 2019-09-30 16:06:55.000000000 -0400 +++ postgresql-12.0/src/bin/pg_ctl/pg_ctl.c 2019-10-03 09:17:39.673228477 -0400 @@ -2302,6 +2302,7 @@ /* * Disallow running as root, to forestall any possible security holes. */ +/* #ifndef WIN32 if (geteuid() == 0) { @@ -2313,7 +2314,7 @@ exit(1); } #endif - +*/ env_wait = getenv("PGCTLTIMEOUT"); if (env_wait != NULL) wait_seconds = atoi(env_wait); diff -Naur postgresql-12.0.orig/src/bin/pg_upgrade/option.c postgresql-12.0/src/bin/pg_upgrade/option.c --- postgresql-12.0.orig/src/bin/pg_upgrade/option.c 2019-09-30 16:06:55.000000000 -0400 +++ postgresql-12.0/src/bin/pg_upgrade/option.c 2019-10-03 09:18:52.009709973 -0400 @@ -98,8 +98,8 @@ } /* Allow help and version to be run as root, so do the test here. */ - if (os_user_effective_id == 0) - pg_fatal("%s: cannot be run as root\n", os_info.progname); + //if (os_user_effective_id == 0) + // pg_fatal("%s: cannot be run as root\n", os_info.progname); while ((option = getopt_long(argc, argv, "d:D:b:B:cj:ko:O:p:P:rs:U:v", long_options, &optindex)) != -1) EOF cd postgresql-${version} ./configure --prefix=$HOME/pg_ --without-readline --without-zlib if [ "$OS_TYPE" = "BSD" ] then gmake -j $NUM_CPU_CORES gmake -C contrib/pgbench all # echo $? > ~/install-exit-status gmake install gmake -C contrib/pgbench install else make -j $NUM_CPU_CORES make -C contrib/pgbench all # echo $? > ~/install-exit-status make install make -C contrib/pgbench install fi cd ~ rm -rf postgresql-${version}/ rm -rf pg_/doc/ # initialize database with encoding and locale $HOME/pg_/bin/initdb -D $HOME/pg_/data/db --encoding=SQL_ASCII --locale=C echo "#!/bin/sh PGDATA=\$HOME/pg_/data/db/ PGPORT=7777 export PGDATA export PGPORT # start server pg_/bin/pg_ctl start -o '-c autovacuum=false' # wait for server to start sleep 10 # create test db pg_/bin/createdb pgbench # set up tables case \$1 in \"BUFFER_TEST\") SCALING_FACTOR=\`echo \"\$SYS_MEMORY * 0.003\" | bc\` ;; \"MOSTLY_CACHE\") SCALING_FACTOR=\`echo \"\$SYS_MEMORY * 0.2\" | bc\` ;; \"ON_DISK\") SCALING_FACTOR=\`echo \"\$SYS_MEMORY * 0.6\" | bc\` ;; esac pg_/bin/pgbench -i -s \$SCALING_FACTOR pgbench case \$2 in \"SINGLE_THREAD\") PGBENCH_ARGS=\"-c 1\" ;; \"NORMAL_LOAD\") PGBENCH_ARGS=\"-j \$NUM_CPU_PHYSICAL_CORES -c \$((\$NUM_CPU_PHYSICAL_CORES*4))\" ;; \"HEAVY_CONTENTION\") PGBENCH_ARGS=\"-j \$((\$NUM_CPU_PHYSICAL_CORES*2)) -c \$((\$NUM_CPU_PHYSICAL_CORES*16))\" ;; esac case \$3 in \"READ_WRITE\") PGBENCH_MORE_ARGS=\"\" ;; \"READ_ONLY\") PGBENCH_MORE_ARGS=\"-S\" ;; esac # run the test pg_/bin/pgbench \$PGBENCH_ARGS \$PGBENCH_MORE_ARGS -T 60 pgbench >\$LOG_FILE 2>&1 # drop test db pg_/bin/dropdb pgbench # stop server pg_/bin/pg_ctl stop" > pgbench chmod +x pgbench
install_windows.sh
#!/bin/sh unzip -o postgresql-10.3-1-windows-x64-binaries.zip rm -rf $HOME/pg_ mkdir -p $HOME/pg_/data/postgresql/extension/ touch $HOME/pg_/data/postgresql/extension/plpgsql.control # initialize database with encoding and locale cd pgsql/bin ./initdb.exe -D $HOME/db --encoding=SQL_ASCII --locale=C cd ~ echo "If this test fails to run, you may need to manually install the Microsoft Visual C++ Redistributable package for MSVCR120.dll: https://www.microsoft.com/en-us/download/details.aspx?id=40784" > ~/install-message echo "#!/bin/sh PGDATA=\$HOME/db/ PGPORT=7777 export PGDATA mkdir db export PGPORT # start server ./pgsql/bin/pg_ctl.exe start -o '-c autovacuum=false' # wait for server to start sleep 10 # create test db ./pgsql/bin/createdb.exe pgbench # set up tables case \$1 in \"BUFFER_TEST\") SCALING_FACTOR=\`echo \"\$SYS_MEMORY * 0.003\" | bc\` ;; \"MOSTLY_CACHE\") SCALING_FACTOR=\`echo \"\$SYS_MEMORY * 0.2\" | bc\` ;; \"ON_DISK\") SCALING_FACTOR=\`echo \"\$SYS_MEMORY * 0.6\" | bc\` ;; esac ./pgsql/bin/pgbench.exe -i -s \$SCALING_FACTOR pgbench case \$2 in \"SINGLE_THREAD\") PGBENCH_ARGS=\"-c 1\" ;; \"NORMAL_LOAD\") PGBENCH_ARGS=\"-j \$NUM_CPU_PHYSICAL_CORES -c \$((\$NUM_CPU_PHYSICAL_CORES*4))\" ;; \"HEAVY_CONTENTION\") PGBENCH_ARGS=\"-j \$((\$NUM_CPU_PHYSICAL_CORES*2)) -c \$((\$NUM_CPU_PHYSICAL_CORES*16))\" ;; esac case \$3 in \"READ_WRITE\") PGBENCH_MORE_ARGS=\"\" ;; \"READ_ONLY\") PGBENCH_MORE_ARGS=\"-S\" ;; esac # run the test ./pgsql/bin/pgbench.exe \$PGBENCH_ARGS \$PGBENCH_MORE_ARGS -T 60 pgbench >\$LOG_FILE # drop test db ./pgsql/bin/dropdb.exe pgbench # stop server ./pgsql/bin/pg_ctl.exe stop" > pgbench chmod +x pgbench
results-definition.xml
<?xml version="1.0"?> <!--Phoronix Test Suite v9.0.1--> <PhoronixTestSuite> <ResultsParser> <OutputTemplate>tps = #_RESULT_# (excluding connections establishing) TPS</OutputTemplate> <LineHint>excluding connections establishing</LineHint> </ResultsParser> </PhoronixTestSuite>
test-definition.xml
<?xml version="1.0"?> <!--Phoronix Test Suite v9.0.1--> <PhoronixTestSuite> <TestInformation> <Title>PostgreSQL pgbench</Title> <AppVersion>12.0</AppVersion> <Description>This is a simple benchmark of PostgreSQL using pgbench.</Description> <ResultScale>TPS</ResultScale> <Proportion>HIB</Proportion> <Executable>pgbench</Executable> <TimesToRun>3</TimesToRun> </TestInformation> <TestProfile> <Version>1.9.1</Version> <SupportedPlatforms>Linux, MacOSX, BSD, Solaris, Windows</SupportedPlatforms> <SoftwareType>Benchmark</SoftwareType> <TestType>System</TestType> <License>Free</License> <Status>Verified</Status> <ExternalDependencies>build-utilities, bc</ExternalDependencies> <EnvironmentSize>1000</EnvironmentSize> <ProjectURL>http://www.postgresql.org/</ProjectURL> <InternalTags>SMP</InternalTags> <Maintainer>Michael Larabel</Maintainer> </TestProfile> <TestSettings> <Option> <DisplayName>Scaling</DisplayName> <Identifier>scaling-factor</Identifier> <Menu> <Entry> <Name>Buffer Test</Name> <Value>BUFFER_TEST</Value> </Entry> <Entry> <Name>Mostly RAM</Name> <Value>MOSTLY_CACHE</Value> </Entry> <Entry> <Name>On-Disk</Name> <Value>ON_DISK</Value> </Entry> </Menu> </Option> <Option> <DisplayName>Test</DisplayName> <Identifier>run-test</Identifier> <Menu> <Entry> <Name>Single Thread</Name> <Value>SINGLE_THREAD</Value> </Entry> <Entry> <Name>Normal Load</Name> <Value>NORMAL_LOAD</Value> </Entry> <Entry> <Name>Heavy Contention</Name> <Value>HEAVY_CONTENTION</Value> </Entry> </Menu> </Option> <Option> <DisplayName>Mode</DisplayName> <Identifier>run-mode</Identifier> <Menu> <Entry> <Name>Read Write</Name> <Value>READ_WRITE</Value> </Entry> <Entry> <Name>Read Only</Name> <Value>READ_ONLY</Value> </Entry> </Menu> </Option> </TestSettings> </PhoronixTestSuite>