blob: 20510a4be7f05926daf546f5d9dfa88d338d49c4 [file]
#!/usr/bin/env bash
set -eo pipefail
: "${GPHOME:?GPHOME must be set}"
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
# 60 default clients for 3-segment cluster (180 requests to PXF) and pool size of 200 threads
# will likely fail on MacOS due to a limit on the number of ephemeral ports
DEFAULT_CLIENTS=60
# default number of repeated queries to perform
DEFAULT_REPEATS=1500
export PGDATABASE="pxfload"
function run_pgbench() {
local QUERY=${1}
local CLIENTS=${2:-${DEFAULT_CLIENTS}}
local REPEATS=${3:-${DEFAULT_REPEATS}}
if [[ -r ${QUERY} ]]; then
echo "File ${QUERY} is not found, exiting"
exit 1
fi
# run pgbench with a given concurrency (clients) and a number of consecutive queries (repeats)
echo "Running pgbench query '${QUERY}' with ${CLIENTS} clients and ${REPEATS} repeats"
pgbench -c "${CLIENTS}" -j "${CLIENTS}" -t "${REPEATS}" -f "${SCRIPT_DIR}/../sql/${QUERY}.sql" -n
}