From e37085a44b265897006b414ea23367e59ba75f70 Mon Sep 17 00:00:00 2001 From: tamnd Date: Wed, 7 Oct 2026 21:38:19 +0700 Subject: [PATCH 1/4] Add the machine scripts and the install scripts of the other engines --- README.md | 19 ++- machines/fdatasync.sh | 27 ++++ machines/install/cedardb.sh | 33 +++++ machines/install/clickhouse.sh | 48 +++++++ machines/install/harness.sh | 34 +++++ machines/install/sqlite.sh | 27 ++++ machines/install/umbra.sh | 20 +++ machines/instance.sh | 127 ++++++++++++++++++ machines/run-suite.sh | 231 +++++++++++++++++++++++++++++++++ pins.toml | 1 + src/main.rs | 10 +- src/pins.rs | 16 ++- 12 files changed, 589 insertions(+), 4 deletions(-) create mode 100755 machines/fdatasync.sh create mode 100755 machines/install/cedardb.sh create mode 100755 machines/install/clickhouse.sh create mode 100755 machines/install/harness.sh create mode 100755 machines/install/sqlite.sh create mode 100755 machines/install/umbra.sh create mode 100755 machines/instance.sh create mode 100755 machines/run-suite.sh diff --git a/README.md b/README.md index b691215..66a38e7 100644 --- a/README.md +++ b/README.md @@ -158,6 +158,23 @@ PGVERSION=19 rupg-bench clickbench --dir cb/postgresql --engine postgresql --uni rupg-bench clickbench --dir cb/duckdb --engine duckdb --source hits.parquet --duckdb-bin /opt/rupg-bench/bin/duckdb --answers ans-pg ``` +The report of a YCSB run with `--sync` has the setting in its name, as in `ycsb-postgresql-sync-on`, and the report of a TPC-C run has the warehouse count, as in `tpcc-postgresql-w100`. So the runs of one suite do not write the same file. + +## The machine scripts + +The scripts in `machines/` start a machine, install the pins, run a suite and stop the machine. They read every version from `pins.toml`. Each install script in `machines/install/` checks the hash of what it downloads against the pin and checks the version that the program reports. `clickhouse.sh` copies the binary of the pinned release to `/opt/rupg-bench/bin`, and with `--system` it also runs `clickhouse install`, so the install script of the ClickBench pin finds `/usr/bin/clickhouse` and does not fetch the newest build. `sqlite.sh` checks the SHA3-256 hash that sqlite.org publishes. `umbra.sh` pulls the pinned image tag and stops if its digest is not the digest of `pins.toml`. The installer of CedarDB always installs the newest release, so `cedardb.sh` cannot pin it: it keeps the installer, records the version that the server reports and warns when that is not the pin. The licenses of Umbra and CedarDB are not verified, so their results are not published until they are. `harness.sh` builds `rupg-bench` with the pinned Rust. + +`machines/run-suite.sh SUITE [MACHINE]` runs on the machine itself. It builds the harness, installs what the suite needs and runs the driver, and the reports go to `reports/`. The suites are `pgbench`, `tpch`, `tpcc`, `ycsb`, `clickbench` and `fdatasync`. `fdatasync` runs `fio` with the settings of spec/20 section 20.2 and prints the p50, which decides if a machine can be `oltp`. `SMOKE=1` runs a tiny scale and marks every report as a smoke run. spec/20 leaves the TPC-C warehouse counts, the TPC-C virtual users and the YCSB record count to the choice at M0, so a full run stops until `WAREHOUSES`, `VU` and `RECORDS` are set. `SERVER_CPUS` puts the server in a `cpuset` and `CLIENT_CPUS` puts the driver on the other cores, as on `oltp`. + +`machines/instance.sh NAME SUITE [KEY=VALUE...]` starts the AWS machine `NAME` (`4xl`, `metal`, `tpch` or `oltp`) with Ubuntu 24.04 and a 500 GB gp2 root volume, copies the repository to it, runs `run-suite.sh` with the settings, copies the reports back and terminates the machine on exit, also after an error. It needs `AWS_REGION`, `KEY_NAME`, `SSH_KEY` and `SECURITY_GROUP`. The `oltp` machine and the `tpch` machine for SF100 are not chosen yet, so they need `INSTANCE_TYPE`, or `HOST` for a machine that exists. `DRY_RUN=1` prints the AWS command and stops. + +```sh +machines/instance.sh 4xl clickbench +machines/instance.sh tpch tpch SCALES="1 10" +INSTANCE_TYPE= machines/instance.sh oltp tpcc WAREHOUSES=" <4n>" VU= SERVER_CPUS=0-15 CLIENT_CPUS=16-31 +HOST=root@server3 MACHINE=server3 machines/instance.sh 4xl pgbench SMOKE=1 +``` + ## The reporting rules 1. A claim has five parts: one named machine, one metric, a baseline that we measured, the same transport on both sides, and the ratio. A claim without all five is not made. @@ -179,7 +196,7 @@ pins.toml versions of every system, the rupg commit src/ suite drivers, the cgroup runner, the report generator answers/ PostgreSQL 19 answers for ClickBench and TPC-H (the TPC-H SF1 set is fetched) clickbench/ the rupg directory of our ClickBench fork -machines/ scripts for 4xl, metal, tpch, oltp and cluster +machines/ the install scripts, run-suite.sh and instance.sh for 4xl, metal, tpch and oltp ratchet.toml the instruction counts and the best number of each row reports// --.md and a JSON file for each run ``` diff --git a/machines/fdatasync.sh b/machines/fdatasync.sh new file mode 100755 index 0000000..4b1f53d --- /dev/null +++ b/machines/fdatasync.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Measure the fdatasync p50 of the device under DIR with fio, as spec/20 section 20.2 asks for the choice of the oltp machine. +# +# Usage: fdatasync.sh DIR [SIZE]. fio writes SIZE (256m by default) in blocks of 4 KiB to a file in DIR, with one fdatasync after each write and a queue depth of 1 (--rw=write --bs=4k --fdatasync=1 --iodepth=1). The script prints the p50, p95 and p99 of the fdatasync time in microseconds and removes the file. The oltp machine needs a p50 below 100 us. This is a requirement for the choice of the machine, not a benchmark result. +set -euo pipefail +# shellcheck source=machines/lib.sh +. "$(dirname "$0")/lib.sh" + +[ $# -ge 1 ] && [ $# -le 2 ] || die "usage: fdatasync.sh DIR [SIZE]" +dir=$1 +size=${2:-256m} +[ -d "$dir" ] || die "$dir is not a directory" +command -v fio >/dev/null || apt_install fio +command -v python3 >/dev/null || apt_install python3 +out=$(mktemp) +trap 'rm -f "$out" "$dir/rupg-bench-fdatasync.0.0"' EXIT +log "fio in $dir, $size, bs 4k, fdatasync after each write" +fio --name=rupg-bench-fdatasync --directory="$dir" --rw=write --bs=4k --size="$size" --fdatasync=1 \ + --iodepth=1 --ioengine=sync --output-format=json --output="$out" >/dev/null +python3 -I - "$out" "$dir" <<'PY' +import json, sys +job = json.load(open(sys.argv[1]))["jobs"][0] +p = job["sync"]["lat_ns"]["percentile"] +us = lambda k: p[k] / 1000 +print(f"fdatasync dir={sys.argv[2]} syncs={job['sync']['lat_ns']['N']} " + f"p50_us={us('50.000000'):.1f} p95_us={us('95.000000'):.1f} p99_us={us('99.000000'):.1f}") +PY diff --git a/machines/install/cedardb.sh b/machines/install/cedardb.sh new file mode 100755 index 0000000..0a5751c --- /dev/null +++ b/machines/install/cedardb.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# Install CedarDB with the installer that the ClickBench pin uses, and record the version that it installed. +# +# Usage: cedardb.sh DIR. DIR is the cedardb directory of the ClickBench copy, where the pin keeps the binary and the database. The installer at https://get.cedardb.com always installs the newest release, so this install cannot be pinned. The script keeps a copy of the installer with its sha256, and writes the version that the binary reports to $RUPG_BENCH_OPT/cedardb.version. A run whose version is not the one in pins.toml says so. The installer adds the systemd unit cedardb.service, so use the script only on a machine of the benchmark. The license of CedarDB is not verified (pins.toml), so a result is published only after the license is checked. +set -euo pipefail +# shellcheck source=machines/lib.sh +. "$(dirname "$0")/../lib.sh" +need_root + +[ $# -eq 1 ] || die "usage: cedardb.sh DIR" +dir=$(cd "$1" && pwd) +want=$(pin cedardb version) +mkdir -p "$RUPG_BENCH_OPT/download" +apt_install postgresql-client +installer=$RUPG_BENCH_OPT/download/cedardb-install-$(date -u +%Y%m%d).sh +curl -fsSL --retry 3 -o "$installer" https://get.cedardb.com +log "installer sha256 $(sha256sum "$installer" | cut -d' ' -f1)" +systemctl stop cedardb.service 2>/dev/null || true +rm -rf "$dir/db" +bash "$installer" -y --install-dir "$dir" --db-dir "$dir/db" --with-systemd=system +systemctl start cedardb.service +got="" +for _ in $(seq 60); do + got=$(PGHOST=/tmp PGUSER=postgres psql -Atc 'SELECT version()' 2>/dev/null) && break + sleep 1 +done +[ -n "$got" ] || die "CedarDB did not answer SELECT version() in 60 s" +printf '%s\n' "$got" >"$RUPG_BENCH_OPT/cedardb.version" +case $got in +*"$want"*) log "installed CedarDB: $got" ;; +*) log "warning: CedarDB reports $got, pins.toml names $want. Record this version with the result." ;; +esac +log "warning: the license of CedarDB is not verified, so do not publish a CedarDB result until it is" diff --git a/machines/install/clickhouse.sh b/machines/install/clickhouse.sh new file mode 100755 index 0000000..1c9e4ea --- /dev/null +++ b/machines/install/clickhouse.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# Install the ClickHouse release of pins.toml into $RUPG_BENCH_OPT/bin. +# +# Usage: clickhouse.sh [--system]. The script checks the sha256 of the release archive and copies the one clickhouse binary out of it. With --system it then runs `clickhouse install` from that binary, which makes /usr/bin/clickhouse, the user clickhouse and /etc/clickhouse-server. The install script of the ClickBench pin fetches the newest build with `curl https://clickhouse.com/ | sh` only when /usr/bin/clickhouse does not exist, so after --system the pin runs the pinned version. Use --system only on a machine of the benchmark, because it changes the system. +set -euo pipefail +# shellcheck source=machines/lib.sh +. "$(dirname "$0")/../lib.sh" + +system=no +case ${1:-} in +"") ;; +--system) system=yes ;; +*) die "usage: clickhouse.sh [--system]" ;; +esac +version=$(pin clickhouse version) +url=$(pin clickhouse url) +sha=$(pin clickhouse sha256) +bin=$RUPG_BENCH_OPT/bin +mkdir -p "$bin" "$RUPG_BENCH_OPT/download" + +tgz=$RUPG_BENCH_OPT/download/clickhouse-common-static-$version-amd64.tgz +fetch "$url" "$sha" "$tgz" +tmp=$(mktemp -d "$RUPG_BENCH_OPT/download/clickhouse.XXXXXX") +trap 'rm -rf "$tmp"' EXIT +tar -xzf "$tgz" -C "$tmp" "clickhouse-common-static-$version/usr/bin/clickhouse" +install -m 755 "$tmp/clickhouse-common-static-$version/usr/bin/clickhouse" "$bin/clickhouse.part" +mv "$bin/clickhouse.part" "$bin/clickhouse" +got=$("$bin/clickhouse" local --version) +case $got in +*" $version "* | *" $version") log "installed $bin/clickhouse: $got" ;; +*) die "$bin/clickhouse reports $got, pins.toml wants $version" ;; +esac + +if [ "$system" = yes ]; then + need_root + if [ -x /usr/bin/clickhouse ]; then + have=$(/usr/bin/clickhouse local --version) + case $have in + *" $version "* | *" $version") log "/usr/bin/clickhouse is already $version" ;; + *) die "/usr/bin/clickhouse reports $have, pins.toml wants $version. Remove it first." ;; + esac + else + log "clickhouse install --noninteractive" + (cd "$tmp" && "$bin/clickhouse" install --noninteractive >"$RUPG_BENCH_OPT/download/clickhouse-install.log" 2>&1) || + die "clickhouse install failed, see $RUPG_BENCH_OPT/download/clickhouse-install.log" + log "installed /usr/bin/clickhouse: $(/usr/bin/clickhouse local --version)" + fi +fi diff --git a/machines/install/harness.sh b/machines/install/harness.sh new file mode 100755 index 0000000..8d03bbd --- /dev/null +++ b/machines/install/harness.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# Build rupg-bench with the Rust release of pins.toml and copy the binary to $RUPG_BENCH_OPT/bin/rupg-bench. +# +# The script installs rustup when the machine has none, then the toolchain of rust-toolchain.toml. rustup-init is checked against the sha256 file that static.rust-lang.org publishes next to it. That checks the download, not a pin, and the toolchain itself is pinned. The build uses $JOBS jobs and the lock file of the repository. The script prints the path of the binary. +set -euo pipefail +# shellcheck source=machines/lib.sh +. "$(dirname "$0")/../lib.sh" + +version=$(pin rust version) +bin=$RUPG_BENCH_OPT/bin +mkdir -p "$bin" "$RUPG_BENCH_OPT/download" +if [ -f "$HOME/.cargo/env" ]; then + # shellcheck source=/dev/null + . "$HOME/.cargo/env" +fi +if ! command -v rustup >/dev/null; then + apt_install build-essential curl + url=https://static.rust-lang.org/rustup/dist/x86_64-unknown-linux-gnu/rustup-init + init=$RUPG_BENCH_OPT/download/rustup-init + rm -f "$init" + fetch "$url" "$(curl -fsSL --retry 3 "$url.sha256" | cut -d' ' -f1)" "$init" + chmod 755 "$init" + "$init" -y -q --profile minimal --default-toolchain "$version" --no-modify-path >/dev/null + # shellcheck source=/dev/null + . "$HOME/.cargo/env" +fi +rustup toolchain install "$version" --profile minimal >/dev/null 2>&1 +cd "$RUPG_BENCH_ROOT" +log "build rupg-bench with Rust $version and $JOBS jobs" +CARGO_BUILD_JOBS=$JOBS cargo "+$version" build --release --locked --quiet +install -m 755 target/release/rupg-bench "$bin/rupg-bench.part" +mv "$bin/rupg-bench.part" "$bin/rupg-bench" +log "installed $bin/rupg-bench: $("$bin/rupg-bench" --version)" +printf '%s\n' "$bin/rupg-bench" diff --git a/machines/install/sqlite.sh b/machines/install/sqlite.sh new file mode 100755 index 0000000..618a564 --- /dev/null +++ b/machines/install/sqlite.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Install the sqlite3 program of pins.toml into $RUPG_BENCH_OPT/bin. +# +# sqlite.org publishes a SHA3-256 hash for each download, not a SHA-256 hash, so the script checks that hash. The install script of the ClickBench pin installs sqlite3 from apt only when no sqlite3 is on the PATH, so put $RUPG_BENCH_OPT/bin first on the PATH and the pin runs the pinned version. +set -euo pipefail +# shellcheck source=machines/lib.sh +. "$(dirname "$0")/../lib.sh" + +version=$(pin sqlite version) +url=$(pin sqlite url) +sha=$(pin sqlite sha3_256) +bin=$RUPG_BENCH_OPT/bin +mkdir -p "$bin" "$RUPG_BENCH_OPT/download" + +command -v unzip >/dev/null || apt_install unzip +zip=$RUPG_BENCH_OPT/download/$(basename "$url") +fetch "$url" "$sha" "$zip" sha3 +tmp=$(mktemp -d "$RUPG_BENCH_OPT/download/sqlite.XXXXXX") +trap 'rm -rf "$tmp"' EXIT +unzip -q -o -j "$zip" sqlite3 -d "$tmp" +install -m 755 "$tmp/sqlite3" "$bin/sqlite3.part" +mv "$bin/sqlite3.part" "$bin/sqlite3" +got=$("$bin/sqlite3" --version) +case $got in +"$version "*) log "installed $bin/sqlite3: $got" ;; +*) die "$bin/sqlite3 reports $got, pins.toml wants $version" ;; +esac diff --git a/machines/install/umbra.sh b/machines/install/umbra.sh new file mode 100755 index 0000000..917bce5 --- /dev/null +++ b/machines/install/umbra.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# Pull the Umbra image of pins.toml and check its digest. +# +# The ClickBench pin pulls the image by its tag, and a tag can move. So the script pulls the tag and stops when the digest is not the digest of pins.toml. It also writes the digest to $RUPG_BENCH_OPT/umbra.digest for the result. The license of Umbra is not verified (pins.toml), so a result is published only after the license is checked. +set -euo pipefail +# shellcheck source=machines/lib.sh +. "$(dirname "$0")/../lib.sh" +need_root + +image=$(pin umbra image) +want=$(pin umbra digest) +command -v docker >/dev/null || apt_install docker.io +log "docker pull $image" +docker pull -q "$image" >/dev/null +digest=$(docker image inspect --format '{{index .RepoDigests 0}}' "$image") +[ "${digest#*@}" = "$want" ] || die "$image has the digest ${digest#*@}, pins.toml wants $want. The tag moved." +mkdir -p "$RUPG_BENCH_OPT" +printf '%s\n' "$digest" >"$RUPG_BENCH_OPT/umbra.digest" +log "pulled $image as $digest" +log "warning: the license of Umbra is not verified, so do not publish an Umbra result until it is" diff --git a/machines/instance.sh b/machines/instance.sh new file mode 100755 index 0000000..a1c2ce3 --- /dev/null +++ b/machines/instance.sh @@ -0,0 +1,127 @@ +#!/bin/bash +# Start a machine of spec/20 section 20.2 on AWS, run one suite on it with run-suite.sh, copy the reports back and stop the machine. +# +# Usage: instance.sh NAME SUITE [KEY=VALUE...]. NAME is 4xl, metal, tpch or oltp. SUITE and the KEY=VALUE settings go to machines/run-suite.sh on the machine, for example SMOKE=1 or SCALES="1 10". +# +# 4xl c6a.4xlarge, 16 vCPU, 32 GiB, 500 GB gp2, as the ClickBench pin +# metal c6a.metal, 192 vCPU, 384 GiB, 500 GB gp2 +# tpch c6a.4xlarge for SF1 and SF10. SF100 needs at least 64 vCPU, 256 GiB and local NVMe, so set INSTANCE_TYPE. +# oltp not chosen yet (spec/20 section 20.2), so set INSTANCE_TYPE, or HOST for a machine that is not on AWS. +# +# The AWS settings come from the environment: AWS_REGION, KEY_NAME (the key pair), SSH_KEY (its private key file), SECURITY_GROUP (it must let ssh in), and SUBNET when the account has no default subnet. AMI is Ubuntu 24.04 by default. VOLUME_SIZE and VOLUME_TYPE change the root volume. +# +# HOST=user@host runs on a machine that exists, with no AWS call, and does not stop it. MACHINE sets the machine name of the reports (NAME by default). REMOTE_DIR is the copy of the repository on the machine (rupg-bench in the home directory). SSH_OPTS adds ssh options. DRY_RUN=1 prints the AWS command and stops. +# +# The machine is terminated when the script exits for any reason, after the reports and the log are copied back. The log goes to runs/tmp/. +set -euo pipefail +# shellcheck source=machines/lib.sh +. "$(dirname "$0")/lib.sh" + +[ $# -ge 2 ] || die "usage: instance.sh NAME SUITE [KEY=VALUE...]" +name=$1 +suite=$2 +shift 2 +settings=() +for kv in "$@"; do + [[ $kv =~ ^[A-Z_][A-Z0-9_]*= ]] || die "the setting $kv is not KEY=VALUE" + settings+=("$kv") +done + +volume_type=${VOLUME_TYPE:-gp2} +volume_size=${VOLUME_SIZE:-500} +case $name in +4xl) type=c6a.4xlarge ;; +metal) type=c6a.metal ;; +tpch) type=${INSTANCE_TYPE:-c6a.4xlarge} ;; +oltp) + [ -n "${INSTANCE_TYPE:-}${HOST:-}" ] || die "the oltp machine is not chosen yet: set INSTANCE_TYPE or HOST" + type=${INSTANCE_TYPE:-} + ;; +*) die "unknown machine $name: use 4xl, metal, tpch or oltp" ;; +esac +machine=${MACHINE:-$name} +remote_dir=${REMOTE_DIR:-rupg-bench} +stamp=$(date -u +%Y%m%dT%H%M%SZ) +mkdir -p "$RUPG_BENCH_ROOT/runs/tmp" +logfile=$RUPG_BENCH_ROOT/runs/tmp/$stamp-$machine-$suite.log +# shellcheck disable=SC2206 +ssh_opts=(-o BatchMode=yes -o ConnectTimeout=10 ${SSH_OPTS:-}) +instance="" + +launch() { + local ami subnet=() out + for v in AWS_REGION KEY_NAME SSH_KEY SECURITY_GROUP; do + [ -n "${!v:-}" ] || die "set $v, or set HOST to use a machine that exists" + done + ami=${AMI:-resolve:ssm:/aws/service/canonical/ubuntu/server/24.04/stable/current/amd64/hvm/ebs-gp3/ami-id} + [ -n "${SUBNET:-}" ] && subnet=(--subnet-id "$SUBNET") + local cmd=(aws ec2 run-instances --region "$AWS_REGION" --image-id "$ami" --instance-type "$type" + --key-name "$KEY_NAME" --security-group-ids "$SECURITY_GROUP" ${subnet[@]+"${subnet[@]}"} + --block-device-mappings "[{\"DeviceName\":\"/dev/sda1\",\"Ebs\":{\"VolumeSize\":$volume_size,\"VolumeType\":\"$volume_type\",\"DeleteOnTermination\":true}}]" + --instance-initiated-shutdown-behavior terminate + --tag-specifications "ResourceType=instance,Tags=[{Key=Name,Value=rupg-bench-$machine-$suite}]" + --query 'Instances[0].InstanceId' --output text) + if [ "${DRY_RUN:-0}" = 1 ]; then + printf '%q ' "${cmd[@]}" + printf '\n' + exit 0 + fi + out=$("${cmd[@]}") + instance=$out + log "started $instance ($type) for $machine" + aws ec2 wait instance-running --region "$AWS_REGION" --instance-ids "$instance" + local ip + ip=$(aws ec2 describe-instances --region "$AWS_REGION" --instance-ids "$instance" \ + --query 'Reservations[0].Instances[0].PublicIpAddress' --output text) + HOST=ubuntu@$ip + ssh_opts+=(-i "$SSH_KEY" -o StrictHostKeyChecking=accept-new) +} + +finish() { + local status=$? + trap - EXIT + if [ -n "${HOST:-}" ]; then + log "copy the reports back from $HOST" + rsync -az -e "ssh ${ssh_opts[*]}" "$HOST:$remote_dir/reports/" "$RUPG_BENCH_ROOT/reports/" || + log "warning: the copy of the reports failed" + fi + if [ -n "$instance" ]; then + log "terminate $instance" + aws ec2 terminate-instances --region "$AWS_REGION" --instance-ids "$instance" >/dev/null + aws ec2 wait instance-terminated --region "$AWS_REGION" --instance-ids "$instance" || + log "warning: $instance did not reach terminated, check the console" + fi + log "the log is $logfile" + exit "$status" +} + +on_host() { + # shellcheck disable=SC2029 + ssh "${ssh_opts[@]}" "$HOST" "$@" +} + +if [ -z "${HOST:-}" ]; then + launch +fi +trap finish EXIT +log "wait for ssh on $HOST" +for i in $(seq 60); do + on_host true 2>/dev/null && break + [ "$i" -lt 60 ] || die "no ssh on $HOST after 5 minutes" + sleep 5 +done +{ + printf 'machine %s, instance %s, type %s, suite %s, started %s\n' "$machine" "${instance:-none}" "${type:-none}" "$suite" "$stamp" + on_host 'uname -a; lscpu | grep -E "^(Model name|CPU\(s\)|Thread|NUMA node\(s\))"; free -g | head -2; lsblk -d -o NAME,SIZE,ROTA,MODEL' +} 2>&1 | tee "$logfile" +log "copy the repository to $HOST:$remote_dir" +on_host "mkdir -p $(printf '%q' "$remote_dir")" +rsync -az --delete --exclude /target --exclude /reports --exclude /runs -e "ssh ${ssh_opts[*]}" \ + "$RUPG_BENCH_ROOT/" "$HOST:$remote_dir/" +remote="cd $(printf '%q' "$remote_dir") && env" +for kv in ${settings[@]+"${settings[@]}"}; do + remote+=" $(printf '%q' "$kv")" +done +remote+=" machines/run-suite.sh $(printf '%q' "$suite") $(printf '%q' "$machine")" +log "run $suite on $HOST" +on_host "$remote" 2>&1 | tee -a "$logfile" diff --git a/machines/run-suite.sh b/machines/run-suite.sh new file mode 100755 index 0000000..65984e9 --- /dev/null +++ b/machines/run-suite.sh @@ -0,0 +1,231 @@ +#!/bin/bash +# Install the pinned systems and run one suite on this machine. The reports go to reports/ of the repository. +# +# Usage: run-suite.sh SUITE [MACHINE]. SUITE is pgbench, tpch, tpcc, ycsb, clickbench or fdatasync. MACHINE is the name in the reports (4xl, metal, tpch, oltp), and the host name by default. +# +# SMOKE=1 runs the suite at a tiny scale and marks every report as a smoke run. A smoke run shows that the scripts and the driver work. It is not a baseline. +# +# The sizes that spec/20 leaves to M0 have no default for a full run, so the script stops when they are not set: +# tpcc: WAREHOUSES (a list, for example "1000 4000") and VU (spec/20 section 20.8) +# ycsb: RECORDS (spec/20 section 20.9) +# Other settings: SCALES for tpch ("1"), ENGINES for clickbench and tpch ("postgresql duckdb"), HITS_DIR for clickbench (a directory with hits.tsv and hits.parquet, fetched when they are missing), SERVER_CPUS and CLIENT_CPUS for the cpuset of spec/20 section 20.2 (for example 0-15 and 16-31 on oltp). +set -euo pipefail +# shellcheck source=machines/lib.sh +. "$(dirname "$0")/lib.sh" +if [ "$(id -u)" -ne 0 ]; then + exec sudo -E -H "$0" "$@" +fi + +[ $# -ge 1 ] && [ $# -le 2 ] || die "usage: run-suite.sh SUITE [MACHINE]" +suite=$1 +machine=${2:-$(hostname -s)} +smoke=${SMOKE:-0} +install=$RUPG_BENCH_ROOT/machines/install +reports=$RUPG_BENCH_ROOT/reports +mkdir -p "$RUPG_BENCH_DATA" "$reports" +export PATH=$RUPG_BENCH_OPT/bin:$PATH +# The ClickBench scripts of the pin read PGVERSION, and PostgreSQL is 19 here. +export PGVERSION=19 + +common=(--report "$reports" --machine "$machine") +if [ "$smoke" = 1 ]; then + common+=(--smoke) +fi +need() { + [ -n "${!1:-}" ] || die "set $1 for a full $suite run: spec/20 leaves it to the choice at M0" +} + +# The cpuset of the server on oltp: the server unit gets SERVER_CPUS, and the driver and its clients run on CLIENT_CPUS. +server_cpus() { + local unit=$1 dropin + dropin=/etc/systemd/system/$unit.d + if [ -n "${SERVER_CPUS:-}" ]; then + mkdir -p "$dropin" + printf '[Service]\nAllowedCPUs=%s\n' "$SERVER_CPUS" >"$dropin/rupg-bench-cpuset.conf" + log "$unit runs on the CPUs $SERVER_CPUS" + else + rm -f "$dropin/rupg-bench-cpuset.conf" + fi + systemctl daemon-reload + systemctl restart "$unit" +} +rb() { + if [ -n "${CLIENT_CPUS:-}" ]; then + taskset -c "$CLIENT_CPUS" "$harness" "$@" + else + "$harness" "$@" + fi +} + +log "run-suite $suite on $machine, smoke=$smoke" +harness=$("$install/harness.sh" | tail -1) +"$harness" pins --file "$RUPG_BENCH_ROOT/pins.toml" >&2 + +case $suite in +fdatasync) + # The device of the PostgreSQL data directory, or of RUPG_BENCH_DATA before PostgreSQL is installed. + dir=$RUPG_BENCH_DATA + [ -d /var/lib/postgresql ] && dir=/var/lib/postgresql + if [ "$smoke" = 1 ]; then + "$RUPG_BENCH_ROOT/machines/fdatasync.sh" "$dir" 16m + else + "$RUPG_BENCH_ROOT/machines/fdatasync.sh" "$dir" + fi + ;; +pgbench) + "$install/postgresql.sh" + server_cpus postgresql@19-main + if [ "$smoke" = 1 ]; then + rb pgbench --unit postgresql@19-main --scale 1 --clients 4 --time 30 "${common[@]}" + else + rb pgbench --unit postgresql@19-main --scale "${SCALE:-100}" --clients "${CLIENTS:-16}" \ + --time "${TIME:-300}" "${common[@]}" + fi + ;; +tpch) + engines=${ENGINES:-postgresql duckdb} + "$install/duckdb.sh" + [[ " $engines " == *" postgresql "* ]] && "$install/postgresql.sh" + tools=$("$install/tpch-tools.sh" | tail -1) + scales=${SCALES:-1} + [ "$smoke" = 1 ] && scales=0.01 + for sf in $scales; do + data=$RUPG_BENCH_DATA/tpch/sf$sf + answers=$RUPG_BENCH_DATA/tpch/answers-sf$sf + mkdir -p "$data" + # At SF1 the answers of the kit check every engine. At a larger scale PostgreSQL 19 gives the answers (spec/20 section 20.7), so it runs first. + check=() + [ "$sf" = 1 ] && check=(--answers "$tools/answers") + steps=gen,load,run + for engine in $engines; do + case $engine in + postgresql) + server_cpus postgresql@19-main + rb tpch --tools "$tools" --scale "$sf" --data "$data" --steps "$steps" --engine postgresql \ + --unit postgresql@19-main --du /var/lib/postgresql/19/main "${check[@]}" \ + --save-answers "$answers" "${common[@]}" + [ "$sf" = 1 ] || check=(--answers "$answers") + ;; + duckdb) + cpus=() + [ -n "${SERVER_CPUS:-}" ] && cpus=(--cpus "$SERVER_CPUS") + rm -f "$data.db" + rb tpch --tools "$tools" --scale "$sf" --data "$data" --steps "$steps" --duckdb "$data.db" \ + --duckdb-bin "$RUPG_BENCH_OPT/bin/duckdb" "${cpus[@]}" "${check[@]}" "${common[@]}" + ;; + *) die "the tpch suite has no engine $engine" ;; + esac + steps=load,run + done + done + ;; +tpcc) + "$install/postgresql.sh" + "$install/hammerdb.sh" + "$install/tpcc-roles.sh" + server_cpus postgresql@19-main + if [ "$smoke" = 1 ]; then + warehouses=2 vu=2 rampup=1 duration=1 + else + need WAREHOUSES + need VU + warehouses=${WAREHOUSES:?} vu=${VU:?} rampup=${RAMPUP:-5} duration=${DURATION:-20} + fi + for w in $warehouses; do + rb tpcc --unit postgresql@19-main --warehouses "$w" --vu "$vu" --rampup "$rampup" \ + --duration "$duration" --sync on,off --sync-dir /var/lib/postgresql/19/main "${common[@]}" + done + ;; +ycsb) + "$install/postgresql.sh" + server_cpus postgresql@19-main + if [ "$smoke" = 1 ]; then + records=10000 rows=1,16 time=5 + else + need RECORDS + records=${RECORDS:?} rows=1,16,16x64 time=${TIME:-60} + fi + # Both durability rows of spec/20 section 20.9. The first run loads usertable, and the second runs on it. + steps=load,run + for sync in on off; do + rb ycsb --unit postgresql@19-main --records "$records" --rows "$rows" --time "$time" --sync "$sync" \ + --steps "$steps" "${common[@]}" + steps=run + done + ;; +clickbench) + engines=${ENGINES:-postgresql duckdb} + src=$("$install/clickbench.sh" | tail -1) + hits=${HITS_DIR:-$RUPG_BENCH_DATA/hits} + run=$RUPG_BENCH_DATA/clickbench + mkdir -p "$hits" "$run" + rm -rf "${run:?}/lib" + cp -r "$src/lib" "$run/lib" + answers=$run/answers-postgresql + first=yes + for engine in $engines; do + rm -rf "${run:?}/$engine" + cp -r "$src/$engine" "$run/$engine" + case $engine in + postgresql) + "$install/postgresql.sh" + if [ "$smoke" = 1 ]; then + # The first 100,000 rows of hits.tsv, with no download of the whole file. head closes the pipe early, so curl fails by design, and the line count is the check. + source=$hits/hits-smoke.tsv + if [ ! -f "$source" ]; then + { curl -fsSL https://datasets.clickhouse.com/hits_compatible/hits.tsv.gz | gzip -dc | head -n 100000 >"$source.part"; } || true + [ "$(wc -l <"$source.part")" -eq 100000 ] || die "the download of the first rows of hits.tsv failed" + mv "$source.part" "$source" + fi + else + [ -f "$hits/hits.tsv" ] || "$run/lib/download-hits-tsv" "$hits" + source=$hits/hits.tsv + # The settings that postgresql/install of the pin writes after its apt install. The harness builds PostgreSQL from the pin, so it does not run that script. + mem=$(awk '/MemTotal/ {print $2}' /proc/meminfo) + threads=$(nproc) + cat >/etc/postgresql/19/main/conf.d/clickbench.conf < Result<(), String> { println!("{line}"); } }; - let meta = report::Meta::now(&format!("ycsb-{engine}"), machine, None, smoke); + // A run with --sync names its report after the setting, so the runs with on and off do not write the same file. + let name = match &sync { + Some(v) => format!("ycsb-{engine}-sync-{v}"), + None => format!("ycsb-{engine}"), + }; + let meta = report::Meta::now(&name, machine, None, smoke); let mut result = meta.to_json(); if smoke { result = @@ -1323,7 +1328,8 @@ fn tpcc_command(mut a: args::Args) -> Result<(), String> { println!("{line}"); } }; - let meta = report::Meta::now("tpcc-postgresql", machine, None, smoke); + // The report names the warehouse count, because spec/20 section 20.8 runs two counts. + let meta = report::Meta::now(&format!("tpcc-postgresql-w{warehouses}"), machine, None, smoke); let mut result = meta.to_json(); if smoke { result = diff --git a/src/pins.rs b/src/pins.rs index 748a8a4..7c8bedf 100644 --- a/src/pins.rs +++ b/src/pins.rs @@ -12,7 +12,7 @@ const REQUIRED: [(&str, &[&str]); 11] = [ ("rupg", &["repo", "commit"]), ("clickhouse", &["version", "url", "sha256"]), ("duckdb", &["version", "url", "sha256"]), - ("umbra", &["version", "image", "license"]), + ("umbra", &["version", "image", "digest", "license"]), ("cedardb", &["version", "license"]), ("sqlite", &["version", "url", "sha3_256"]), ("hammerdb", &["version", "url", "sha256"]), @@ -51,6 +51,18 @@ impl Pins { return Err(format!("[{}] {key} is not 64 hex digits", table.name)); } } + // A container image digest, as docker prints it. + if let Some(d) = table.str("digest") + && !d.strip_prefix("sha256:").is_some_and(|h| { + h.len() == 64 + && h.bytes().all(|b| b.is_ascii_hexdigit() && !b.is_ascii_uppercase()) + }) + { + return Err(format!( + "[{}] digest {d:?} is not sha256: and 64 hex digits", + table.name + )); + } } Ok(Pins { doc }) } @@ -137,6 +149,8 @@ mod tests { assert!(Pins::parse(&short).unwrap_err().contains("full SHA-1")); let no_duckdb = FILE.replace("[duckdb]", "[duck]"); assert!(Pins::parse(&no_duckdb).unwrap_err().contains("[duckdb]")); + let tag = FILE.replace("digest = \"sha256:", "digest = \""); + assert!(Pins::parse(&tag).unwrap_err().contains("[umbra] digest")); } #[test] From a822a829e343588d470a3d27264ccf9ae8fbbde9 Mon Sep 17 00:00:00 2001 From: tamnd Date: Wed, 7 Oct 2026 22:13:39 +0700 Subject: [PATCH 2/4] Add the smoke reports of the machine scripts on server3 --- .../2b41dd83-server3-pgbench-smoke.json | 63 +++ .../2b41dd83-server3-pgbench-smoke.md | 100 ++++ ...dd83-server3-tpch-sf0.01-duckdb-smoke.json | 363 ++++++++++++++ ...41dd83-server3-tpch-sf0.01-duckdb-smoke.md | 89 ++++ ...-server3-tpch-sf0.01-postgresql-smoke.json | 415 ++++++++++++++++ ...83-server3-tpch-sf0.01-postgresql-smoke.md | 125 +++++ ...erver3-ycsb-postgresql-sync-off-smoke.json | 451 +++++++++++++++++ ...-server3-ycsb-postgresql-sync-off-smoke.md | 61 +++ ...server3-ycsb-postgresql-sync-on-smoke.json | 470 ++++++++++++++++++ ...3-server3-ycsb-postgresql-sync-on-smoke.md | 81 +++ 10 files changed, 2218 insertions(+) create mode 100644 reports/2026-10-07/2b41dd83-server3-pgbench-smoke.json create mode 100644 reports/2026-10-07/2b41dd83-server3-pgbench-smoke.md create mode 100644 reports/2026-10-07/2b41dd83-server3-tpch-sf0.01-duckdb-smoke.json create mode 100644 reports/2026-10-07/2b41dd83-server3-tpch-sf0.01-duckdb-smoke.md create mode 100644 reports/2026-10-07/2b41dd83-server3-tpch-sf0.01-postgresql-smoke.json create mode 100644 reports/2026-10-07/2b41dd83-server3-tpch-sf0.01-postgresql-smoke.md create mode 100644 reports/2026-10-07/2b41dd83-server3-ycsb-postgresql-sync-off-smoke.json create mode 100644 reports/2026-10-07/2b41dd83-server3-ycsb-postgresql-sync-off-smoke.md create mode 100644 reports/2026-10-07/2b41dd83-server3-ycsb-postgresql-sync-on-smoke.json create mode 100644 reports/2026-10-07/2b41dd83-server3-ycsb-postgresql-sync-on-smoke.md diff --git a/reports/2026-10-07/2b41dd83-server3-pgbench-smoke.json b/reports/2026-10-07/2b41dd83-server3-pgbench-smoke.json new file mode 100644 index 0000000..ea58af7 --- /dev/null +++ b/reports/2026-10-07/2b41dd83-server3-pgbench-smoke.json @@ -0,0 +1,63 @@ +{ + "cgroup": "/sys/fs/cgroup/system.slice/system-postgresql.slice/postgresql@19-main.service", + "unix_time": 1791384356, + "kernel": "6.8.0-106-generic", + "suite": "pgbench", + "machine": "server3", + "date": "2026-10-07", + "commit": "2b41dd83", + "smoke": true, + "postgresql_commit": "7d3d2db7d5e533fa42a4202c7d308cbb0cbf9333", + "pgbench_version": "pgbench (PostgreSQL) 19beta4", + "settings": { + "scale": 1, + "clients": 4, + "jobs": 4, + "time_s": 30 + }, + "server_version": "19beta4", + "idle_base": { + "wall_s": 10.032522472, + "cpu_usec": 37631, + "user_usec": 7259, + "system_usec": 30373, + "rbytes": 2244608, + "wbytes": 2392064, + "memory_peak_bytes": 80670720, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 59772928, + "pss_max_bytes": 35897344, + "memory_current_max_bytes": 69509120, + "samples": 97 + }, + "pgbench": { + "transactions": 1045, + "failed": 0, + "latency_average_ms": 114.355, + "tps": 34.978843, + "output": "pgbench (19beta4)\ntransaction type: \nscaling factor: 1\nquery mode: simple\nnumber of clients: 4\nnumber of threads: 4\nmaximum number of tries: 1\nduration: 30 s\nnumber of transactions actually processed: 1045\nnumber of failed transactions: 0 (0.000%)\nlatency average = 114.355 ms\ninitial connection time = 286.120 ms\ntps = 34.978843 (without initial connection time)\n" + }, + "run": { + "wall_s": 30.750012896, + "cpu_usec": 3435745, + "user_usec": 2095562, + "system_usec": 1340182, + "rbytes": 8761344, + "wbytes": 9592832, + "memory_peak_bytes": 80670720, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 46084096, + "pss_max_bytes": 54194176, + "memory_current_max_bytes": 62607360, + "samples": 180 + }, + "check": { + "sum_abalance": -145866, + "sum_tbalance": -145866, + "sum_bbalance": -145866, + "history_rows": 1045, + "transactions": 1045, + "passed": true, + "failures": [] + } +} diff --git a/reports/2026-10-07/2b41dd83-server3-pgbench-smoke.md b/reports/2026-10-07/2b41dd83-server3-pgbench-smoke.md new file mode 100644 index 0000000..b7526b4 --- /dev/null +++ b/reports/2026-10-07/2b41dd83-server3-pgbench-smoke.md @@ -0,0 +1,100 @@ +# pgbench on server3, 2026-10-07 + +**This is a smoke run.** It shows that the driver works. It ran on a small scale or on a shared machine, so its numbers are not baselines and no claim may use them. + +| Field | Value | +|---|---| +| cgroup | /sys/fs/cgroup/system.slice/system-postgresql.slice/postgresql@19-main.service | +| unix_time | 1791384356 | +| kernel | 6.8.0-106-generic | +| suite | pgbench | +| machine | server3 | +| date | 2026-10-07 | +| commit | 2b41dd83 | +| smoke | true | +| postgresql_commit | 7d3d2db7d5e533fa42a4202c7d308cbb0cbf9333 | +| pgbench_version | pgbench (PostgreSQL) 19beta4 | +| server_version | 19beta4 | + +## settings + +| Field | Value | +|---|---| +| scale | 1 | +| clients | 4 | +| jobs | 4 | +| time_s | 30 | + +## idle_base + +| Field | Value | +|---|---| +| wall_s | 10.032522 | +| cpu_usec | 37631 | +| user_usec | 7259 | +| system_usec | 30373 | +| rbytes | 2244608 | +| wbytes | 2392064 | +| memory_peak_bytes | 80670720 | +| memory_peak_scope | since the cgroup was created | +| file_max_bytes | 59772928 | +| pss_max_bytes | 35897344 | +| memory_current_max_bytes | 69509120 | +| samples | 97 | + +## pgbench + +| Field | Value | +|---|---| +| transactions | 1045 | +| failed | 0 | +| latency_average_ms | 114.355 | +| tps | 34.978843 | + +output: + +``` +pgbench (19beta4) +transaction type: +scaling factor: 1 +query mode: simple +number of clients: 4 +number of threads: 4 +maximum number of tries: 1 +duration: 30 s +number of transactions actually processed: 1045 +number of failed transactions: 0 (0.000%) +latency average = 114.355 ms +initial connection time = 286.120 ms +tps = 34.978843 (without initial connection time) +``` + +## run + +| Field | Value | +|---|---| +| wall_s | 30.750013 | +| cpu_usec | 3435745 | +| user_usec | 2095562 | +| system_usec | 1340182 | +| rbytes | 8761344 | +| wbytes | 9592832 | +| memory_peak_bytes | 80670720 | +| memory_peak_scope | since the cgroup was created | +| file_max_bytes | 46084096 | +| pss_max_bytes | 54194176 | +| memory_current_max_bytes | 62607360 | +| samples | 180 | + +## check + +| Field | Value | +|---|---| +| sum_abalance | -145866 | +| sum_tbalance | -145866 | +| sum_bbalance | -145866 | +| history_rows | 1045 | +| transactions | 1045 | +| passed | true | +| failures | | + diff --git a/reports/2026-10-07/2b41dd83-server3-tpch-sf0.01-duckdb-smoke.json b/reports/2026-10-07/2b41dd83-server3-tpch-sf0.01-duckdb-smoke.json new file mode 100644 index 0000000..6c62504 --- /dev/null +++ b/reports/2026-10-07/2b41dd83-server3-tpch-sf0.01-duckdb-smoke.json @@ -0,0 +1,363 @@ +{ + "suite": "tpch-sf0.01-duckdb", + "machine": "server3", + "date": "2026-10-07", + "commit": "2b41dd83", + "smoke": true, + "note": "smoke run: it shows that the driver works, it is not a baseline", + "scale": "0.01", + "engine_name": "duckdb", + "engine": { + "mode": "in process, a new duckdb process for each run", + "bin": "/root/work/rupg-bench-opt/bin/duckdb", + "db": "/root/work/rbdata/tpch/sf0.01.db", + "threads": null, + "cpus": null + }, + "steps": [ + "load", + "run" + ], + "runs": 3, + "cold": "page cache dropped, and a unit restarted, before the first run of each query", + "kernel": "6.8.0-106-generic", + "tpch_tools": "/root/work/rupg-bench-opt/src/tpch-tools/tpch_tools_3.0.1/dbgen", + "engine_version": "v1.5.6 (Variegata) 069cc9f9b5", + "queries": "qgen -d -s 0.01, written to /root/work/rbdata/tpch/sf0.01/queries", + "load": { + "usage": { + "wall_s": 3.61161215, + "cpu_usec": 2723550, + "user_usec": 2260089, + "system_usec": 463461, + "rbytes": 15241216, + "wbytes": 18726912, + "memory_peak_bytes": 129880064, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 33632256, + "pss_max_bytes": 115119104, + "memory_current_max_bytes": 127934464, + "samples": 37 + }, + "du_path": "/root/work/rbdata/tpch/sf0.01.db", + "du_apparent_bytes": 15478784 + }, + "totals": { + "hot_s": 0.9350000000000002, + "cold_s": 4.82, + "failed": 0, + "checked": 22, + "wrong": 0, + "answers_from": "/root/work/rbdata/tpch/answers-sf0.01" + }, + "results": [ + { + "query": "q1", + "runs_s": [0.104, 0.017, 0.011], + "cold_s": 0.104, + "hot_s": 0.011, + "cold_rbytes": 29171712, + "cold_cpu_usec": 182488, + "hot_cpu_usec": 194858, + "memory_peak_bytes": 37134336, + "pss_max_bytes": 28016640, + "rows": 4, + "answer": "ok", + "error": null + }, + { + "query": "q2", + "runs_s": [0.2, 0.072, 0.061], + "cold_s": 0.2, + "hot_s": 0.061, + "cold_rbytes": 29671424, + "cold_cpu_usec": 172434, + "hot_cpu_usec": 300359, + "memory_peak_bytes": 41734144, + "pss_max_bytes": 23802880, + "rows": 4, + "answer": "ok", + "error": null + }, + { + "query": "q3", + "runs_s": [0.338, 0.054, 0.097], + "cold_s": 0.338, + "hot_s": 0.054, + "cold_rbytes": 6111232, + "cold_cpu_usec": 265095, + "hot_cpu_usec": 266795, + "memory_peak_bytes": 18042880, + "pss_max_bytes": 20034560, + "rows": 10, + "answer": "ok", + "error": null + }, + { + "query": "q4", + "runs_s": [0.283, 0.19, 0.075], + "cold_s": 0.283, + "hot_s": 0.075, + "cold_rbytes": 6135808, + "cold_cpu_usec": 261320, + "hot_cpu_usec": 325697, + "memory_peak_bytes": 16162816, + "pss_max_bytes": 21740544, + "rows": 5, + "answer": "ok", + "error": null + }, + { + "query": "q5", + "runs_s": [0.314, 0.032, 0.081], + "cold_s": 0.314, + "hot_s": 0.032, + "cold_rbytes": 7417856, + "cold_cpu_usec": 226586, + "hot_cpu_usec": 223012, + "memory_peak_bytes": 19144704, + "pss_max_bytes": 19428352, + "rows": 5, + "answer": "ok", + "error": null + }, + { + "query": "q6", + "runs_s": [0.085, 0.016, 0.009], + "cold_s": 0.085, + "hot_s": 0.009, + "cold_rbytes": 27852800, + "cold_cpu_usec": 255147, + "hot_cpu_usec": 138199, + "memory_peak_bytes": 35151872, + "pss_max_bytes": 23998464, + "rows": 1, + "answer": "ok", + "error": null + }, + { + "query": "q7", + "runs_s": [0.196, 0.139, 0.052], + "cold_s": 0.196, + "hot_s": 0.052, + "cold_rbytes": 30883840, + "cold_cpu_usec": 244060, + "hot_cpu_usec": 258885, + "memory_peak_bytes": 43581440, + "pss_max_bytes": 27906048, + "rows": 4, + "answer": "ok", + "error": null + }, + { + "query": "q8", + "runs_s": [0.2, 0.033, 0.049], + "cold_s": 0.2, + "hot_s": 0.033, + "cold_rbytes": 33005568, + "cold_cpu_usec": 239167, + "hot_cpu_usec": 241838, + "memory_peak_bytes": 45879296, + "pss_max_bytes": 32824320, + "rows": 2, + "answer": "ok", + "error": null + }, + { + "query": "q9", + "runs_s": [0.522, 0.082, 0.051], + "cold_s": 0.522, + "hot_s": 0.051, + "cold_rbytes": 30466048, + "cold_cpu_usec": 478694, + "hot_cpu_usec": 255793, + "memory_peak_bytes": 43696128, + "pss_max_bytes": 34204672, + "rows": 173, + "answer": "ok", + "error": null + }, + { + "query": "q10", + "runs_s": [0.25, 0.104, 0.068], + "cold_s": 0.25, + "hot_s": 0.068, + "cold_rbytes": 30158848, + "cold_cpu_usec": 349928, + "hot_cpu_usec": 353112, + "memory_peak_bytes": 50319360, + "pss_max_bytes": 39513088, + "rows": 20, + "answer": "ok", + "error": null + }, + { + "query": "q11", + "runs_s": [0.212, 0.025, 0.018], + "cold_s": 0.212, + "hot_s": 0.018, + "cold_rbytes": 29913088, + "cold_cpu_usec": 245836, + "hot_cpu_usec": 152744, + "memory_peak_bytes": 40095744, + "pss_max_bytes": 28240896, + "rows": 1, + "answer": "ok", + "error": null + }, + { + "query": "q12", + "runs_s": [0.137, 0.014, 0.14], + "cold_s": 0.137, + "hot_s": 0.014, + "cold_rbytes": 29650944, + "cold_cpu_usec": 227251, + "hot_cpu_usec": 266275, + "memory_peak_bytes": 38879232, + "pss_max_bytes": 26902528, + "rows": 2, + "answer": "ok", + "error": null + }, + { + "query": "q13", + "runs_s": [0.103, 0.073, 0.019], + "cold_s": 0.103, + "hot_s": 0.019, + "cold_rbytes": 29003776, + "cold_cpu_usec": 311387, + "hot_cpu_usec": 282938, + "memory_peak_bytes": 38711296, + "pss_max_bytes": 28805120, + "rows": 33, + "answer": "ok", + "error": null + }, + { + "query": "q14", + "runs_s": [0.29, 0.019, 0.023], + "cold_s": 0.29, + "hot_s": 0.019, + "cold_rbytes": 29077504, + "cold_cpu_usec": 271825, + "hot_cpu_usec": 275551, + "memory_peak_bytes": 37105664, + "pss_max_bytes": 27640832, + "rows": 1, + "answer": "ok", + "error": null + }, + { + "query": "q15", + "runs_s": [0.227, 0.104, 0.025], + "cold_s": 0.227, + "hot_s": 0.025, + "cold_rbytes": 4182016, + "cold_cpu_usec": 173985, + "hot_cpu_usec": 210625, + "memory_peak_bytes": 12742656, + "pss_max_bytes": 27586560, + "rows": 1, + "answer": "ok", + "error": null + }, + { + "query": "q16", + "runs_s": [0.147, 0.04, 0.026], + "cold_s": 0.147, + "hot_s": 0.026, + "cold_rbytes": 12050432, + "cold_cpu_usec": 198393, + "hot_cpu_usec": 211956, + "memory_peak_bytes": 26558464, + "pss_max_bytes": 26917888, + "rows": 296, + "answer": "ok", + "error": null + }, + { + "query": "q17", + "runs_s": [0.111, 0.039, 0.018], + "cold_s": 0.111, + "hot_s": 0.018, + "cold_rbytes": 29216768, + "cold_cpu_usec": 161428, + "hot_cpu_usec": 177829, + "memory_peak_bytes": 38027264, + "pss_max_bytes": 24092672, + "rows": 1, + "answer": "ok", + "error": null + }, + { + "query": "q18", + "runs_s": [0.179, 0.108, 0.148], + "cold_s": 0.179, + "hot_s": 0.108, + "cold_rbytes": 30822400, + "cold_cpu_usec": 199637, + "hot_cpu_usec": 397614, + "memory_peak_bytes": 45371392, + "pss_max_bytes": 32861184, + "rows": 2, + "answer": "ok", + "error": null + }, + { + "query": "q19", + "runs_s": [0.195, 0.03, 0.015], + "cold_s": 0.195, + "hot_s": 0.015, + "cold_rbytes": 29253632, + "cold_cpu_usec": 172502, + "hot_cpu_usec": 135448, + "memory_peak_bytes": 37543936, + "pss_max_bytes": 26272768, + "rows": 1, + "answer": "ok", + "error": null + }, + { + "query": "q20", + "runs_s": [0.247, 0.304, 0.067], + "cold_s": 0.247, + "hot_s": 0.067, + "cold_rbytes": 31969280, + "cold_cpu_usec": 202181, + "hot_cpu_usec": 424199, + "memory_peak_bytes": 44728320, + "pss_max_bytes": 33037312, + "rows": 1, + "answer": "ok", + "error": null + }, + { + "query": "q21", + "runs_s": [0.227, 0.143, 0.207], + "cold_s": 0.227, + "hot_s": 0.143, + "cold_rbytes": 20967424, + "cold_cpu_usec": 213627, + "hot_cpu_usec": 427894, + "memory_peak_bytes": 34492416, + "pss_max_bytes": 25544704, + "rows": 1, + "answer": "ok", + "error": null + }, + { + "query": "q22", + "runs_s": [0.253, 0.017, 0.103], + "cold_s": 0.253, + "hot_s": 0.017, + "cold_rbytes": 29495296, + "cold_cpu_usec": 286805, + "hot_cpu_usec": 238825, + "memory_peak_bytes": 39428096, + "pss_max_bytes": 29419520, + "rows": 7, + "answer": "ok", + "error": null + } + ] +} diff --git a/reports/2026-10-07/2b41dd83-server3-tpch-sf0.01-duckdb-smoke.md b/reports/2026-10-07/2b41dd83-server3-tpch-sf0.01-duckdb-smoke.md new file mode 100644 index 0000000..f1553c4 --- /dev/null +++ b/reports/2026-10-07/2b41dd83-server3-tpch-sf0.01-duckdb-smoke.md @@ -0,0 +1,89 @@ +# tpch-sf0.01-duckdb on server3, 2026-10-07 + +**This is a smoke run.** It shows that the driver works. It ran on a small scale or on a shared machine, so its numbers are not baselines and no claim may use them. + +| Field | Value | +|---|---| +| suite | tpch-sf0.01-duckdb | +| machine | server3 | +| date | 2026-10-07 | +| commit | 2b41dd83 | +| smoke | true | +| note | smoke run: it shows that the driver works, it is not a baseline | +| scale | 0.01 | +| engine_name | duckdb | +| steps | load, run | +| runs | 3 | +| cold | page cache dropped, and a unit restarted, before the first run of each query | +| kernel | 6.8.0-106-generic | +| tpch_tools | /root/work/rupg-bench-opt/src/tpch-tools/tpch_tools_3.0.1/dbgen | +| engine_version | v1.5.6 (Variegata) 069cc9f9b5 | +| queries | qgen -d -s 0.01, written to /root/work/rbdata/tpch/sf0.01/queries | + +## engine + +| Field | Value | +|---|---| +| mode | in process, a new duckdb process for each run | +| bin | /root/work/rupg-bench-opt/bin/duckdb | +| db | /root/work/rbdata/tpch/sf0.01.db | +| threads | null | +| cpus | null | + +## load + +| Field | Value | +|---|---| +| usage.wall_s | 3.611612 | +| usage.cpu_usec | 2723550 | +| usage.user_usec | 2260089 | +| usage.system_usec | 463461 | +| usage.rbytes | 15241216 | +| usage.wbytes | 18726912 | +| usage.memory_peak_bytes | 129880064 | +| usage.memory_peak_scope | since the cgroup was created | +| usage.file_max_bytes | 33632256 | +| usage.pss_max_bytes | 115119104 | +| usage.memory_current_max_bytes | 127934464 | +| usage.samples | 37 | +| du_path | /root/work/rbdata/tpch/sf0.01.db | +| du_apparent_bytes | 15478784 | + +## totals + +| Field | Value | +|---|---| +| hot_s | 0.935 | +| cold_s | 4.82 | +| failed | 0 | +| checked | 22 | +| wrong | 0 | +| answers_from | /root/work/rbdata/tpch/answers-sf0.01 | + +## results + +| query | runs_s | cold_s | hot_s | cold_rbytes | cold_cpu_usec | hot_cpu_usec | memory_peak_bytes | pss_max_bytes | rows | answer | error | +|---|---|---|---|---|---|---|---|---|---|---|---| +| q1 | 0.104, 0.017, 0.011 | 0.104 | 0.011 | 29171712 | 182488 | 194858 | 37134336 | 28016640 | 4 | ok | null | +| q2 | 0.2, 0.072, 0.061 | 0.2 | 0.061 | 29671424 | 172434 | 300359 | 41734144 | 23802880 | 4 | ok | null | +| q3 | 0.338, 0.054, 0.097 | 0.338 | 0.054 | 6111232 | 265095 | 266795 | 18042880 | 20034560 | 10 | ok | null | +| q4 | 0.283, 0.19, 0.075 | 0.283 | 0.075 | 6135808 | 261320 | 325697 | 16162816 | 21740544 | 5 | ok | null | +| q5 | 0.314, 0.032, 0.081 | 0.314 | 0.032 | 7417856 | 226586 | 223012 | 19144704 | 19428352 | 5 | ok | null | +| q6 | 0.085, 0.016, 0.009 | 0.085 | 0.009 | 27852800 | 255147 | 138199 | 35151872 | 23998464 | 1 | ok | null | +| q7 | 0.196, 0.139, 0.052 | 0.196 | 0.052 | 30883840 | 244060 | 258885 | 43581440 | 27906048 | 4 | ok | null | +| q8 | 0.2, 0.033, 0.049 | 0.2 | 0.033 | 33005568 | 239167 | 241838 | 45879296 | 32824320 | 2 | ok | null | +| q9 | 0.522, 0.082, 0.051 | 0.522 | 0.051 | 30466048 | 478694 | 255793 | 43696128 | 34204672 | 173 | ok | null | +| q10 | 0.25, 0.104, 0.068 | 0.25 | 0.068 | 30158848 | 349928 | 353112 | 50319360 | 39513088 | 20 | ok | null | +| q11 | 0.212, 0.025, 0.018 | 0.212 | 0.018 | 29913088 | 245836 | 152744 | 40095744 | 28240896 | 1 | ok | null | +| q12 | 0.137, 0.014, 0.14 | 0.137 | 0.014 | 29650944 | 227251 | 266275 | 38879232 | 26902528 | 2 | ok | null | +| q13 | 0.103, 0.073, 0.019 | 0.103 | 0.019 | 29003776 | 311387 | 282938 | 38711296 | 28805120 | 33 | ok | null | +| q14 | 0.29, 0.019, 0.023 | 0.29 | 0.019 | 29077504 | 271825 | 275551 | 37105664 | 27640832 | 1 | ok | null | +| q15 | 0.227, 0.104, 0.025 | 0.227 | 0.025 | 4182016 | 173985 | 210625 | 12742656 | 27586560 | 1 | ok | null | +| q16 | 0.147, 0.04, 0.026 | 0.147 | 0.026 | 12050432 | 198393 | 211956 | 26558464 | 26917888 | 296 | ok | null | +| q17 | 0.111, 0.039, 0.018 | 0.111 | 0.018 | 29216768 | 161428 | 177829 | 38027264 | 24092672 | 1 | ok | null | +| q18 | 0.179, 0.108, 0.148 | 0.179 | 0.108 | 30822400 | 199637 | 397614 | 45371392 | 32861184 | 2 | ok | null | +| q19 | 0.195, 0.03, 0.015 | 0.195 | 0.015 | 29253632 | 172502 | 135448 | 37543936 | 26272768 | 1 | ok | null | +| q20 | 0.247, 0.304, 0.067 | 0.247 | 0.067 | 31969280 | 202181 | 424199 | 44728320 | 33037312 | 1 | ok | null | +| q21 | 0.227, 0.143, 0.207 | 0.227 | 0.143 | 20967424 | 213627 | 427894 | 34492416 | 25544704 | 1 | ok | null | +| q22 | 0.253, 0.017, 0.103 | 0.253 | 0.017 | 29495296 | 286805 | 238825 | 39428096 | 29419520 | 7 | ok | null | + diff --git a/reports/2026-10-07/2b41dd83-server3-tpch-sf0.01-postgresql-smoke.json b/reports/2026-10-07/2b41dd83-server3-tpch-sf0.01-postgresql-smoke.json new file mode 100644 index 0000000..12953aa --- /dev/null +++ b/reports/2026-10-07/2b41dd83-server3-tpch-sf0.01-postgresql-smoke.json @@ -0,0 +1,415 @@ +{ + "suite": "tpch-sf0.01-postgresql", + "machine": "server3", + "date": "2026-10-07", + "commit": "2b41dd83", + "smoke": true, + "note": "smoke run: it shows that the driver works, it is not a baseline", + "scale": "0.01", + "engine_name": "postgresql", + "engine": { + "mode": "server, a new connection for each run", + "host": "/var/run/postgresql", + "port": 5432, + "user": "bench", + "dbname": "bench", + "cgroup": "/sys/fs/cgroup/system.slice/system-postgresql.slice/postgresql@19-main.service", + "unit": "postgresql@19-main" + }, + "steps": [ + "gen", + "load", + "run" + ], + "runs": 3, + "cold": "page cache dropped, and a unit restarted, before the first run of each query", + "kernel": "6.8.0-106-generic", + "tpch_tools": "/root/work/rupg-bench-opt/src/tpch-tools/tpch_tools_3.0.1/dbgen", + "engine_version": "19beta4", + "dbgen": "30.5 s", + "queries": "qgen -d -s 0.01, written to /root/work/rbdata/tpch/sf0.01/queries", + "load": { + "usage": { + "wall_s": 39.355384819, + "cpu_usec": 12087275, + "user_usec": 8740804, + "system_usec": 3346471, + "rbytes": 272375808, + "wbytes": 60731392, + "memory_peak_bytes": 396636160, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 352534528, + "pss_max_bytes": 100992000, + "memory_current_max_bytes": 396210176, + "samples": 367 + }, + "rows": [ + { + "table": "region", + "rows": 5 + }, + { + "table": "nation", + "rows": 25 + }, + { + "table": "part", + "rows": 2000 + }, + { + "table": "supplier", + "rows": 100 + }, + { + "table": "partsupp", + "rows": 8000 + }, + { + "table": "customer", + "rows": 1500 + }, + { + "table": "orders", + "rows": 15000 + }, + { + "table": "lineitem", + "rows": 60175 + } + ], + "du_path": "/var/lib/postgresql/19/main", + "du_apparent_bytes": 2405987997 + }, + "idle_base": { + "wall_s": 10.16996412, + "cpu_usec": 48267, + "user_usec": 15273, + "system_usec": 32994, + "rbytes": 32768, + "wbytes": 196608, + "memory_peak_bytes": 396636160, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 336855040, + "pss_max_bytes": 57139200, + "memory_current_max_bytes": 352612352, + "samples": 98 + }, + "totals": { + "hot_s": 3.60190289, + "cold_s": 19.776117438000004, + "failed": 0, + "checked": 0, + "wrong": 0, + "answers_from": null + }, + "results": [ + { + "query": "q1", + "runs_s": [1.477232417, 0.649354937, 0.390804045], + "cold_s": 1.477232417, + "hot_s": 0.390804045, + "cold_rbytes": 13242368, + "cold_cpu_usec": 363842, + "hot_cpu_usec": 435425, + "memory_peak_bytes": 76754944, + "pss_max_bytes": 51401728, + "rows": 4, + "answer": "not checked", + "error": null + }, + { + "query": "q2", + "runs_s": [0.59946764, 0.024465185, 0.019568056], + "cold_s": 0.59946764, + "hot_s": 0.019568056, + "cold_rbytes": 5611520, + "cold_cpu_usec": 104329, + "hot_cpu_usec": 33726, + "memory_peak_bytes": 64626688, + "pss_max_bytes": 41968640, + "rows": 4, + "answer": "not checked", + "error": null + }, + { + "query": "q3", + "runs_s": [1.083880199, 0.07160575, 0.230695377], + "cold_s": 1.083880199, + "hot_s": 0.07160575, + "cold_rbytes": 17018880, + "cold_cpu_usec": 180108, + "hot_cpu_usec": 108394, + "memory_peak_bytes": 81989632, + "pss_max_bytes": 50282496, + "rows": 10, + "answer": "not checked", + "error": null + }, + { + "query": "q4", + "runs_s": [0.643711862, 0.094423369, 0.159715381], + "cold_s": 0.643711862, + "hot_s": 0.094423369, + "cold_rbytes": 14655488, + "cold_cpu_usec": 128009, + "hot_cpu_usec": 89202, + "memory_peak_bytes": 82911232, + "pss_max_bytes": 55079936, + "rows": 5, + "answer": "not checked", + "error": null + }, + { + "query": "q5", + "runs_s": [1.000662853, 0.104687691, 0.0670759], + "cold_s": 1.000662853, + "hot_s": 0.0670759, + "cold_rbytes": 14438400, + "cold_cpu_usec": 125837, + "hot_cpu_usec": 44752, + "memory_peak_bytes": 75829248, + "pss_max_bytes": 45712384, + "rows": 5, + "answer": "not checked", + "error": null + }, + { + "query": "q6", + "runs_s": [0.778527876, 0.097726773, 0.109141891], + "cold_s": 0.778527876, + "hot_s": 0.097726773, + "cold_rbytes": 12271616, + "cold_cpu_usec": 155001, + "hot_cpu_usec": 63491, + "memory_peak_bytes": 72966144, + "pss_max_bytes": 50460672, + "rows": 1, + "answer": "not checked", + "error": null + }, + { + "query": "q7", + "runs_s": [0.734426917, 0.026280424, 0.031382516], + "cold_s": 0.734426917, + "hot_s": 0.026280424, + "cold_rbytes": 16785408, + "cold_cpu_usec": 161775, + "hot_cpu_usec": 40311, + "memory_peak_bytes": 80609280, + "pss_max_bytes": 48150528, + "rows": 4, + "answer": "not checked", + "error": null + }, + { + "query": "q8", + "runs_s": [1.439308726, 0.07500299, 0.126457456], + "cold_s": 1.439308726, + "hot_s": 0.07500299, + "cold_rbytes": 17047552, + "cold_cpu_usec": 219075, + "hot_cpu_usec": 39277, + "memory_peak_bytes": 78532608, + "pss_max_bytes": 49329152, + "rows": 2, + "answer": "not checked", + "error": null + }, + { + "query": "q9", + "runs_s": [0.796649465, 0.131206896, 0.284365245], + "cold_s": 0.796649465, + "hot_s": 0.131206896, + "cold_rbytes": 17301504, + "cold_cpu_usec": 162569, + "hot_cpu_usec": 126974, + "memory_peak_bytes": 88670208, + "pss_max_bytes": 55938048, + "rows": 173, + "answer": "not checked", + "error": null + }, + { + "query": "q10", + "runs_s": [1.2736636190000001, 0.052554352, 0.134075228], + "cold_s": 1.2736636190000001, + "hot_s": 0.052554352, + "cold_rbytes": 15757312, + "cold_cpu_usec": 127388, + "hot_cpu_usec": 72161, + "memory_peak_bytes": 84373504, + "pss_max_bytes": 55239680, + "rows": 20, + "answer": "not checked", + "error": null + }, + { + "query": "q11", + "runs_s": [0.64606571, 0.060786866, 0.021320017], + "cold_s": 0.64606571, + "hot_s": 0.021320017, + "cold_rbytes": 5345280, + "cold_cpu_usec": 79512, + "hot_cpu_usec": 21066, + "memory_peak_bytes": 61706240, + "pss_max_bytes": 40397824, + "rows": 1, + "answer": "not checked", + "error": null + }, + { + "query": "q12", + "runs_s": [0.910077612, 0.104650205, 0.086988969], + "cold_s": 0.910077612, + "hot_s": 0.086988969, + "cold_rbytes": 14725120, + "cold_cpu_usec": 150208, + "hot_cpu_usec": 113362, + "memory_peak_bytes": 81993728, + "pss_max_bytes": 52297728, + "rows": 2, + "answer": "not checked", + "error": null + }, + { + "query": "q13", + "runs_s": [0.392467707, 0.024251837, 0.078560165], + "cold_s": 0.392467707, + "hot_s": 0.024251837, + "cold_rbytes": 5332992, + "cold_cpu_usec": 66972, + "hot_cpu_usec": 40621, + "memory_peak_bytes": 64884736, + "pss_max_bytes": 42351616, + "rows": 33, + "answer": "not checked", + "error": null + }, + { + "query": "q14", + "runs_s": [0.315248873, 0.075737078, 0.075726451], + "cold_s": 0.315248873, + "hot_s": 0.075726451, + "cold_rbytes": 13344768, + "cold_cpu_usec": 126418, + "hot_cpu_usec": 67127, + "memory_peak_bytes": 81784832, + "pss_max_bytes": 52040704, + "rows": 1, + "answer": "not checked", + "error": null + }, + { + "query": "q15", + "runs_s": [0.968587127, 0.057823124, 0.06761769], + "cold_s": 0.968587127, + "hot_s": 0.057823124, + "cold_rbytes": 12845056, + "cold_cpu_usec": 145525, + "hot_cpu_usec": 69754, + "memory_peak_bytes": 76505088, + "pss_max_bytes": 50664448, + "rows": 1, + "answer": "not checked", + "error": null + }, + { + "query": "q16", + "runs_s": [0.324412366, 0.019758729, 0.074532106], + "cold_s": 0.324412366, + "hot_s": 0.019758729, + "cold_rbytes": 4001792, + "cold_cpu_usec": 77486, + "hot_cpu_usec": 21417, + "memory_peak_bytes": 55246848, + "pss_max_bytes": 38998016, + "rows": 296, + "answer": "not checked", + "error": null + }, + { + "query": "q17", + "runs_s": [0.342245424, 0.006721947, 0.059153288], + "cold_s": 0.342245424, + "hot_s": 0.006721947, + "cold_rbytes": 4096000, + "cold_cpu_usec": 30979, + "hot_cpu_usec": 35601, + "memory_peak_bytes": 54816768, + "pss_max_bytes": 38323200, + "rows": 1, + "answer": "not checked", + "error": null + }, + { + "query": "q18", + "runs_s": [1.060642459, 0.265088814, 0.160327336], + "cold_s": 1.060642459, + "hot_s": 0.160327336, + "cold_rbytes": 15388672, + "cold_cpu_usec": 233814, + "hot_cpu_usec": 232458, + "memory_peak_bytes": 90497024, + "pss_max_bytes": 58427392, + "rows": 2, + "answer": "not checked", + "error": null + }, + { + "query": "q19", + "runs_s": [1.247327371, 0.101424627, 0.074277138], + "cold_s": 1.247327371, + "hot_s": 0.074277138, + "cold_rbytes": 13434880, + "cold_cpu_usec": 166080, + "hot_cpu_usec": 62805, + "memory_peak_bytes": 80252928, + "pss_max_bytes": 49871872, + "rows": 1, + "answer": "not checked", + "error": null + }, + { + "query": "q20", + "runs_s": [2.880920665, 1.97078834, 1.9363943], + "cold_s": 2.880920665, + "hot_s": 1.9363943, + "cold_rbytes": 14213120, + "cold_cpu_usec": 1199725, + "hot_cpu_usec": 1935421, + "memory_peak_bytes": 80244736, + "pss_max_bytes": 52429824, + "rows": 1, + "answer": "not checked", + "error": null + }, + { + "query": "q21", + "runs_s": [0.631091254, 0.102603172, 0.209712065], + "cold_s": 0.631091254, + "hot_s": 0.102603172, + "cold_rbytes": 14614528, + "cold_cpu_usec": 113043, + "hot_cpu_usec": 92151, + "memory_peak_bytes": 82227200, + "pss_max_bytes": 50050048, + "rows": 1, + "answer": "not checked", + "error": null + }, + { + "query": "q22", + "runs_s": [0.229499296, 0.025152803, 0.009461315], + "cold_s": 0.229499296, + "hot_s": 0.009461315, + "cold_rbytes": 6074368, + "cold_cpu_usec": 37114, + "hot_cpu_usec": 47201, + "memory_peak_bytes": 63053824, + "pss_max_bytes": 41117696, + "rows": 7, + "answer": "not checked", + "error": null + } + ] +} diff --git a/reports/2026-10-07/2b41dd83-server3-tpch-sf0.01-postgresql-smoke.md b/reports/2026-10-07/2b41dd83-server3-tpch-sf0.01-postgresql-smoke.md new file mode 100644 index 0000000..c82e442 --- /dev/null +++ b/reports/2026-10-07/2b41dd83-server3-tpch-sf0.01-postgresql-smoke.md @@ -0,0 +1,125 @@ +# tpch-sf0.01-postgresql on server3, 2026-10-07 + +**This is a smoke run.** It shows that the driver works. It ran on a small scale or on a shared machine, so its numbers are not baselines and no claim may use them. + +| Field | Value | +|---|---| +| suite | tpch-sf0.01-postgresql | +| machine | server3 | +| date | 2026-10-07 | +| commit | 2b41dd83 | +| smoke | true | +| note | smoke run: it shows that the driver works, it is not a baseline | +| scale | 0.01 | +| engine_name | postgresql | +| steps | gen, load, run | +| runs | 3 | +| cold | page cache dropped, and a unit restarted, before the first run of each query | +| kernel | 6.8.0-106-generic | +| tpch_tools | /root/work/rupg-bench-opt/src/tpch-tools/tpch_tools_3.0.1/dbgen | +| engine_version | 19beta4 | +| dbgen | 30.5 s | +| queries | qgen -d -s 0.01, written to /root/work/rbdata/tpch/sf0.01/queries | + +## engine + +| Field | Value | +|---|---| +| mode | server, a new connection for each run | +| host | /var/run/postgresql | +| port | 5432 | +| user | bench | +| dbname | bench | +| cgroup | /sys/fs/cgroup/system.slice/system-postgresql.slice/postgresql@19-main.service | +| unit | postgresql@19-main | + +## load + +| Field | Value | +|---|---| +| usage.wall_s | 39.355385 | +| usage.cpu_usec | 12087275 | +| usage.user_usec | 8740804 | +| usage.system_usec | 3346471 | +| usage.rbytes | 272375808 | +| usage.wbytes | 60731392 | +| usage.memory_peak_bytes | 396636160 | +| usage.memory_peak_scope | since the cgroup was created | +| usage.file_max_bytes | 352534528 | +| usage.pss_max_bytes | 100992000 | +| usage.memory_current_max_bytes | 396210176 | +| usage.samples | 367 | +| rows.0.table | region | +| rows.0.rows | 5 | +| rows.1.table | nation | +| rows.1.rows | 25 | +| rows.2.table | part | +| rows.2.rows | 2000 | +| rows.3.table | supplier | +| rows.3.rows | 100 | +| rows.4.table | partsupp | +| rows.4.rows | 8000 | +| rows.5.table | customer | +| rows.5.rows | 1500 | +| rows.6.table | orders | +| rows.6.rows | 15000 | +| rows.7.table | lineitem | +| rows.7.rows | 60175 | +| du_path | /var/lib/postgresql/19/main | +| du_apparent_bytes | 2405987997 | + +## idle_base + +| Field | Value | +|---|---| +| wall_s | 10.169964 | +| cpu_usec | 48267 | +| user_usec | 15273 | +| system_usec | 32994 | +| rbytes | 32768 | +| wbytes | 196608 | +| memory_peak_bytes | 396636160 | +| memory_peak_scope | since the cgroup was created | +| file_max_bytes | 336855040 | +| pss_max_bytes | 57139200 | +| memory_current_max_bytes | 352612352 | +| samples | 98 | + +## totals + +| Field | Value | +|---|---| +| hot_s | 3.601903 | +| cold_s | 19.776117 | +| failed | 0 | +| checked | 0 | +| wrong | 0 | +| answers_from | null | + +## results + +| query | runs_s | cold_s | hot_s | cold_rbytes | cold_cpu_usec | hot_cpu_usec | memory_peak_bytes | pss_max_bytes | rows | answer | error | +|---|---|---|---|---|---|---|---|---|---|---|---| +| q1 | 1.477232, 0.649355, 0.390804 | 1.477232 | 0.390804 | 13242368 | 363842 | 435425 | 76754944 | 51401728 | 4 | not checked | null | +| q2 | 0.599468, 0.024465, 0.019568 | 0.599468 | 0.019568 | 5611520 | 104329 | 33726 | 64626688 | 41968640 | 4 | not checked | null | +| q3 | 1.08388, 0.071606, 0.230695 | 1.08388 | 0.071606 | 17018880 | 180108 | 108394 | 81989632 | 50282496 | 10 | not checked | null | +| q4 | 0.643712, 0.094423, 0.159715 | 0.643712 | 0.094423 | 14655488 | 128009 | 89202 | 82911232 | 55079936 | 5 | not checked | null | +| q5 | 1.000663, 0.104688, 0.067076 | 1.000663 | 0.067076 | 14438400 | 125837 | 44752 | 75829248 | 45712384 | 5 | not checked | null | +| q6 | 0.778528, 0.097727, 0.109142 | 0.778528 | 0.097727 | 12271616 | 155001 | 63491 | 72966144 | 50460672 | 1 | not checked | null | +| q7 | 0.734427, 0.02628, 0.031383 | 0.734427 | 0.02628 | 16785408 | 161775 | 40311 | 80609280 | 48150528 | 4 | not checked | null | +| q8 | 1.439309, 0.075003, 0.126457 | 1.439309 | 0.075003 | 17047552 | 219075 | 39277 | 78532608 | 49329152 | 2 | not checked | null | +| q9 | 0.796649, 0.131207, 0.284365 | 0.796649 | 0.131207 | 17301504 | 162569 | 126974 | 88670208 | 55938048 | 173 | not checked | null | +| q10 | 1.273664, 0.052554, 0.134075 | 1.273664 | 0.052554 | 15757312 | 127388 | 72161 | 84373504 | 55239680 | 20 | not checked | null | +| q11 | 0.646066, 0.060787, 0.02132 | 0.646066 | 0.02132 | 5345280 | 79512 | 21066 | 61706240 | 40397824 | 1 | not checked | null | +| q12 | 0.910078, 0.10465, 0.086989 | 0.910078 | 0.086989 | 14725120 | 150208 | 113362 | 81993728 | 52297728 | 2 | not checked | null | +| q13 | 0.392468, 0.024252, 0.07856 | 0.392468 | 0.024252 | 5332992 | 66972 | 40621 | 64884736 | 42351616 | 33 | not checked | null | +| q14 | 0.315249, 0.075737, 0.075726 | 0.315249 | 0.075726 | 13344768 | 126418 | 67127 | 81784832 | 52040704 | 1 | not checked | null | +| q15 | 0.968587, 0.057823, 0.067618 | 0.968587 | 0.057823 | 12845056 | 145525 | 69754 | 76505088 | 50664448 | 1 | not checked | null | +| q16 | 0.324412, 0.019759, 0.074532 | 0.324412 | 0.019759 | 4001792 | 77486 | 21417 | 55246848 | 38998016 | 296 | not checked | null | +| q17 | 0.342245, 0.006722, 0.059153 | 0.342245 | 0.006722 | 4096000 | 30979 | 35601 | 54816768 | 38323200 | 1 | not checked | null | +| q18 | 1.060642, 0.265089, 0.160327 | 1.060642 | 0.160327 | 15388672 | 233814 | 232458 | 90497024 | 58427392 | 2 | not checked | null | +| q19 | 1.247327, 0.101425, 0.074277 | 1.247327 | 0.074277 | 13434880 | 166080 | 62805 | 80252928 | 49871872 | 1 | not checked | null | +| q20 | 2.880921, 1.970788, 1.936394 | 2.880921 | 1.936394 | 14213120 | 1199725 | 1935421 | 80244736 | 52429824 | 1 | not checked | null | +| q21 | 0.631091, 0.102603, 0.209712 | 0.631091 | 0.102603 | 14614528 | 113043 | 92151 | 82227200 | 50050048 | 1 | not checked | null | +| q22 | 0.229499, 0.025153, 0.009461 | 0.229499 | 0.009461 | 6074368 | 37114 | 47201 | 63053824 | 41117696 | 7 | not checked | null | + diff --git a/reports/2026-10-07/2b41dd83-server3-ycsb-postgresql-sync-off-smoke.json b/reports/2026-10-07/2b41dd83-server3-ycsb-postgresql-sync-off-smoke.json new file mode 100644 index 0000000..8e2e123 --- /dev/null +++ b/reports/2026-10-07/2b41dd83-server3-ycsb-postgresql-sync-off-smoke.json @@ -0,0 +1,451 @@ +{ + "suite": "ycsb-postgresql-sync-off", + "machine": "server3", + "date": "2026-10-07", + "commit": "2b41dd83", + "smoke": true, + "note": "smoke run: it shows that the driver works, it is not a baseline", + "engine_name": "postgresql", + "cgroup": "/sys/fs/cgroup/system.slice/system-postgresql.slice/postgresql@19-main.service", + "records": 10000, + "field_count": 10, + "field_length": 100, + "distribution": "scrambled zipfian, constant 0.99", + "time_s": 5, + "seed": 1, + "kernel": "6.8.0-106-generic", + "server_version": "19beta4", + "synchronous_commit": { + "server": "on", + "run": "off", + "set_by_driver": true + }, + "idle_base": { + "wall_s": 10.000367816, + "cpu_usec": 7110, + "user_usec": 4618, + "system_usec": 2493, + "rbytes": 0, + "wbytes": 0, + "memory_peak_bytes": 120725504, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 58519552, + "pss_max_bytes": 53413888, + "memory_current_max_bytes": 67522560, + "samples": 91 + }, + "rows": [ + { + "workload": "a", + "clients": 1, + "pipeline": 1, + "ops": 335, + "secs": 5.056, + "ops_per_s": 66, + "errors": 0, + "first_error": null, + "server_cpu_usec_per_op": 711.2, + "server_memory_peak": 120725504, + "read": { + "count": 163, + "mean_us": 14433, + "p50_us": 7012.4, + "p95_us": 57409.5, + "p99_us": 89129, + "p999_us": 135141.9, + "max_us": 135141.9 + }, + "update": { + "count": 172, + "mean_us": 15707.4, + "p50_us": 7012.4, + "p95_us": 59244.5, + "p99_us": 159383.6, + "p999_us": 228962.5, + "max_us": 228962.5 + }, + "hottest_key": { + "key": "user2314253027668161298", + "updates": 7, + "updates_per_s": 1.4 + }, + "server": { + "wall_s": 5.091261045, + "cpu_usec": 238253, + "user_usec": 129751, + "system_usec": 108501, + "rbytes": 774144, + "wbytes": 180224, + "memory_peak_bytes": 120725504, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 41586688, + "pss_max_bytes": 55630848, + "memory_current_max_bytes": 53202944, + "samples": 32 + }, + "check": { + "acknowledged_updates": 172, + "fields_checked": 170, + "fields_wrong": 0, + "examples": [] + } + }, + { + "workload": "a", + "clients": 16, + "pipeline": 1, + "ops": 2942, + "secs": 5.122, + "ops_per_s": 574, + "errors": 0, + "first_error": null, + "server_cpu_usec_per_op": 504.1, + "server_memory_peak": 120725504, + "read": { + "count": 1483, + "mean_us": 26047.6, + "p50_us": 13107.2, + "p95_us": 94371.8, + "p99_us": 210763.8, + "p999_us": 267386.9, + "max_us": 270734.1 + }, + "update": { + "count": 1459, + "mean_us": 28665.7, + "p50_us": 14286.8, + "p95_us": 103284.7, + "p99_us": 210763.8, + "p999_us": 295698.4, + "max_us": 361792 + }, + "hottest_key": { + "key": "user2314253027668161298", + "updates": 40, + "updates_per_s": 7.8 + }, + "server": { + "wall_s": 5.190998624, + "cpu_usec": 1483027, + "user_usec": 903817, + "system_usec": 579210, + "rbytes": 0, + "wbytes": 524288, + "memory_peak_bytes": 120725504, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 42831872, + "pss_max_bytes": 85303296, + "memory_current_max_bytes": 85700608, + "samples": 9 + }, + "check": { + "acknowledged_updates": 1459, + "fields_checked": 1343, + "fields_wrong": 0, + "examples": [] + } + }, + { + "workload": "b", + "clients": 1, + "pipeline": 1, + "ops": 1122, + "secs": 5.004, + "ops_per_s": 224, + "errors": 0, + "first_error": null, + "server_cpu_usec_per_op": 210.3, + "server_memory_peak": 120725504, + "read": { + "count": 1064, + "mean_us": 4484.4, + "p50_us": 95.2, + "p95_us": 27918.3, + "p99_us": 63176.7, + "p999_us": 78643.2, + "max_us": 86982.4 + }, + "update": { + "count": 58, + "mean_us": 3871.5, + "p50_us": 288.8, + "p95_us": 22282.2, + "p99_us": 36005, + "p999_us": 36005, + "max_us": 36005 + }, + "hottest_key": { + "key": "user2314253027668161298", + "updates": 5, + "updates_per_s": 1 + }, + "server": { + "wall_s": 5.005508748, + "cpu_usec": 235928, + "user_usec": 147020, + "system_usec": 88909, + "rbytes": 0, + "wbytes": 131072, + "memory_peak_bytes": 120725504, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 42958848, + "pss_max_bytes": 56737792, + "memory_current_max_bytes": 55508992, + "samples": 45 + }, + "check": { + "acknowledged_updates": 58, + "fields_checked": 57, + "fields_wrong": 0, + "examples": [] + } + }, + { + "workload": "b", + "clients": 16, + "pipeline": 1, + "ops": 3789, + "secs": 5.064, + "ops_per_s": 748, + "errors": 0, + "first_error": null, + "server_cpu_usec_per_op": 350.7, + "server_memory_peak": 120725504, + "read": { + "count": 3605, + "mean_us": 21368.8, + "p50_us": 9830.4, + "p95_us": 77594.6, + "p99_us": 152043.5, + "p999_us": 301989.9, + "max_us": 441390.2 + }, + "update": { + "count": 184, + "mean_us": 17994.3, + "p50_us": 9109.5, + "p95_us": 68157.4, + "p99_us": 131072, + "p999_us": 162695.7, + "max_us": 162695.7 + }, + "hottest_key": { + "key": "user2314253027668161298", + "updates": 8, + "updates_per_s": 1.6 + }, + "server": { + "wall_s": 5.181290845, + "cpu_usec": 1328624, + "user_usec": 809802, + "system_usec": 518822, + "rbytes": 0, + "wbytes": 172032, + "memory_peak_bytes": 120725504, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 43319296, + "pss_max_bytes": 86349824, + "memory_current_max_bytes": 85282816, + "samples": 9 + }, + "check": { + "acknowledged_updates": 184, + "fields_checked": 181, + "fields_wrong": 0, + "examples": [] + } + }, + { + "workload": "c", + "clients": 1, + "pipeline": 1, + "ops": 356, + "secs": 5.042, + "ops_per_s": 71, + "errors": 0, + "first_error": null, + "server_cpu_usec_per_op": 295.6, + "server_memory_peak": 120725504, + "read": { + "count": 356, + "mean_us": 14158.4, + "p50_us": 6979.6, + "p95_us": 56361, + "p99_us": 94371.8, + "p999_us": 162511.2, + "max_us": 162511.2 + }, + "server": { + "wall_s": 5.087849333, + "cpu_usec": 105230, + "user_usec": 46777, + "system_usec": 58454, + "rbytes": 0, + "wbytes": 0, + "memory_peak_bytes": 120725504, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 43327488, + "pss_max_bytes": 56489984, + "memory_current_max_bytes": 55574528, + "samples": 43 + }, + "check": { + "acknowledged_updates": 0, + "fields_checked": 0, + "fields_wrong": 0, + "examples": [] + } + }, + { + "workload": "c", + "clients": 16, + "pipeline": 1, + "ops": 3643, + "secs": 5.086, + "ops_per_s": 716, + "errors": 0, + "first_error": null, + "server_cpu_usec_per_op": 346.3, + "server_memory_peak": 120725504, + "read": { + "count": 3643, + "mean_us": 22156.3, + "p50_us": 12058.6, + "p95_us": 80740.4, + "p99_us": 158335, + "p999_us": 283115.5, + "max_us": 326352.9 + }, + "server": { + "wall_s": 5.092930085, + "cpu_usec": 1261541, + "user_usec": 808735, + "system_usec": 452806, + "rbytes": 0, + "wbytes": 8192, + "memory_peak_bytes": 120725504, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 43327488, + "pss_max_bytes": 106685440, + "memory_current_max_bytes": 109477888, + "samples": 11 + }, + "check": { + "acknowledged_updates": 0, + "fields_checked": 0, + "fields_wrong": 0, + "examples": [] + } + }, + { + "workload": "f", + "clients": 1, + "pipeline": 1, + "ops": 1030, + "secs": 5.008, + "ops_per_s": 206, + "errors": 0, + "first_error": null, + "server_cpu_usec_per_op": 454.3, + "server_memory_peak": 120725504, + "read": { + "count": 542, + "mean_us": 3543.1, + "p50_us": 88.1, + "p95_us": 19005.4, + "p99_us": 73924.6, + "p999_us": 100394.7, + "max_us": 100394.7 + }, + "read_modify_write": { + "count": 488, + "mean_us": 6322.6, + "p50_us": 202.8, + "p95_us": 45875.2, + "p99_us": 90177.5, + "p999_us": 159996.2, + "max_us": 159996.2 + }, + "hottest_key": { + "key": "user2314253027668161298", + "updates": 23, + "updates_per_s": 4.6 + }, + "server": { + "wall_s": 5.009804286, + "cpu_usec": 467943, + "user_usec": 375628, + "system_usec": 92314, + "rbytes": 385024, + "wbytes": 712704, + "memory_peak_bytes": 120725504, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 44662784, + "pss_max_bytes": 80392192, + "memory_current_max_bytes": 79933440, + "samples": 45 + }, + "check": { + "acknowledged_updates": 488, + "fields_checked": 461, + "fields_wrong": 0, + "examples": [] + } + }, + { + "workload": "f", + "clients": 16, + "pipeline": 1, + "ops": 2413, + "secs": 5.111, + "ops_per_s": 472, + "errors": 0, + "first_error": null, + "server_cpu_usec_per_op": 699.5, + "server_memory_peak": 120725504, + "read": { + "count": 1207, + "mean_us": 22524, + "p50_us": 11468.8, + "p95_us": 77070.3, + "p99_us": 197132.3, + "p999_us": 299892.7, + "max_us": 351898.6 + }, + "read_modify_write": { + "count": 1206, + "mean_us": 44454.8, + "p50_us": 27394, + "p95_us": 122683.4, + "p99_us": 250609.7, + "p999_us": 358613, + "max_us": 408001.2 + }, + "hottest_key": { + "key": "user2314253027668161298", + "updates": 43, + "updates_per_s": 8.4 + }, + "server": { + "wall_s": 5.355242907, + "cpu_usec": 1687781, + "user_usec": 1029412, + "system_usec": 658369, + "rbytes": 8192, + "wbytes": 450560, + "memory_peak_bytes": 120725504, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 45228032, + "pss_max_bytes": 85773312, + "memory_current_max_bytes": 88133632, + "samples": 12 + }, + "check": { + "acknowledged_updates": 1206, + "fields_checked": 1114, + "fields_wrong": 0, + "examples": [] + } + } + ] +} diff --git a/reports/2026-10-07/2b41dd83-server3-ycsb-postgresql-sync-off-smoke.md b/reports/2026-10-07/2b41dd83-server3-ycsb-postgresql-sync-off-smoke.md new file mode 100644 index 0000000..d08437f --- /dev/null +++ b/reports/2026-10-07/2b41dd83-server3-ycsb-postgresql-sync-off-smoke.md @@ -0,0 +1,61 @@ +# ycsb-postgresql-sync-off on server3, 2026-10-07 + +**This is a smoke run.** It shows that the driver works. It ran on a small scale or on a shared machine, so its numbers are not baselines and no claim may use them. + +| Field | Value | +|---|---| +| suite | ycsb-postgresql-sync-off | +| machine | server3 | +| date | 2026-10-07 | +| commit | 2b41dd83 | +| smoke | true | +| note | smoke run: it shows that the driver works, it is not a baseline | +| engine_name | postgresql | +| cgroup | /sys/fs/cgroup/system.slice/system-postgresql.slice/postgresql@19-main.service | +| records | 10000 | +| field_count | 10 | +| field_length | 100 | +| distribution | scrambled zipfian, constant 0.99 | +| time_s | 5 | +| seed | 1 | +| kernel | 6.8.0-106-generic | +| server_version | 19beta4 | + +## synchronous_commit + +| Field | Value | +|---|---| +| server | on | +| run | off | +| set_by_driver | true | + +## idle_base + +| Field | Value | +|---|---| +| wall_s | 10.000368 | +| cpu_usec | 7110 | +| user_usec | 4618 | +| system_usec | 2493 | +| rbytes | 0 | +| wbytes | 0 | +| memory_peak_bytes | 120725504 | +| memory_peak_scope | since the cgroup was created | +| file_max_bytes | 58519552 | +| pss_max_bytes | 53413888 | +| memory_current_max_bytes | 67522560 | +| samples | 91 | + +## rows + +| workload | clients | pipeline | ops | secs | ops_per_s | errors | first_error | server_cpu_usec_per_op | server_memory_peak | read.count | read.mean_us | read.p50_us | read.p95_us | read.p99_us | read.p999_us | read.max_us | update.count | update.mean_us | update.p50_us | update.p95_us | update.p99_us | update.p999_us | update.max_us | hottest_key.key | hottest_key.updates | hottest_key.updates_per_s | server.wall_s | server.cpu_usec | server.user_usec | server.system_usec | server.rbytes | server.wbytes | server.memory_peak_bytes | server.memory_peak_scope | server.file_max_bytes | server.pss_max_bytes | server.memory_current_max_bytes | server.samples | check.acknowledged_updates | check.fields_checked | check.fields_wrong | check.examples | read_modify_write.count | read_modify_write.mean_us | read_modify_write.p50_us | read_modify_write.p95_us | read_modify_write.p99_us | read_modify_write.p999_us | read_modify_write.max_us | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| a | 1 | 1 | 335 | 5.056 | 66 | 0 | null | 711.2 | 120725504 | 163 | 14433 | 7012.4 | 57409.5 | 89129 | 135141.9 | 135141.9 | 172 | 15707.4 | 7012.4 | 59244.5 | 159383.6 | 228962.5 | 228962.5 | user2314253027668161298 | 7 | 1.4 | 5.091261 | 238253 | 129751 | 108501 | 774144 | 180224 | 120725504 | since the cgroup was created | 41586688 | 55630848 | 53202944 | 32 | 172 | 170 | 0 | | | | | | | | | +| a | 16 | 1 | 2942 | 5.122 | 574 | 0 | null | 504.1 | 120725504 | 1483 | 26047.6 | 13107.2 | 94371.8 | 210763.8 | 267386.9 | 270734.1 | 1459 | 28665.7 | 14286.8 | 103284.7 | 210763.8 | 295698.4 | 361792 | user2314253027668161298 | 40 | 7.8 | 5.190999 | 1483027 | 903817 | 579210 | 0 | 524288 | 120725504 | since the cgroup was created | 42831872 | 85303296 | 85700608 | 9 | 1459 | 1343 | 0 | | | | | | | | | +| b | 1 | 1 | 1122 | 5.004 | 224 | 0 | null | 210.3 | 120725504 | 1064 | 4484.4 | 95.2 | 27918.3 | 63176.7 | 78643.2 | 86982.4 | 58 | 3871.5 | 288.8 | 22282.2 | 36005 | 36005 | 36005 | user2314253027668161298 | 5 | 1 | 5.005509 | 235928 | 147020 | 88909 | 0 | 131072 | 120725504 | since the cgroup was created | 42958848 | 56737792 | 55508992 | 45 | 58 | 57 | 0 | | | | | | | | | +| b | 16 | 1 | 3789 | 5.064 | 748 | 0 | null | 350.7 | 120725504 | 3605 | 21368.8 | 9830.4 | 77594.6 | 152043.5 | 301989.9 | 441390.2 | 184 | 17994.3 | 9109.5 | 68157.4 | 131072 | 162695.7 | 162695.7 | user2314253027668161298 | 8 | 1.6 | 5.181291 | 1328624 | 809802 | 518822 | 0 | 172032 | 120725504 | since the cgroup was created | 43319296 | 86349824 | 85282816 | 9 | 184 | 181 | 0 | | | | | | | | | +| c | 1 | 1 | 356 | 5.042 | 71 | 0 | null | 295.6 | 120725504 | 356 | 14158.4 | 6979.6 | 56361 | 94371.8 | 162511.2 | 162511.2 | | | | | | | | | | | 5.087849 | 105230 | 46777 | 58454 | 0 | 0 | 120725504 | since the cgroup was created | 43327488 | 56489984 | 55574528 | 43 | 0 | 0 | 0 | | | | | | | | | +| c | 16 | 1 | 3643 | 5.086 | 716 | 0 | null | 346.3 | 120725504 | 3643 | 22156.3 | 12058.6 | 80740.4 | 158335 | 283115.5 | 326352.9 | | | | | | | | | | | 5.09293 | 1261541 | 808735 | 452806 | 0 | 8192 | 120725504 | since the cgroup was created | 43327488 | 106685440 | 109477888 | 11 | 0 | 0 | 0 | | | | | | | | | +| f | 1 | 1 | 1030 | 5.008 | 206 | 0 | null | 454.3 | 120725504 | 542 | 3543.1 | 88.1 | 19005.4 | 73924.6 | 100394.7 | 100394.7 | | | | | | | | user2314253027668161298 | 23 | 4.6 | 5.009804 | 467943 | 375628 | 92314 | 385024 | 712704 | 120725504 | since the cgroup was created | 44662784 | 80392192 | 79933440 | 45 | 488 | 461 | 0 | | 488 | 6322.6 | 202.8 | 45875.2 | 90177.5 | 159996.2 | 159996.2 | +| f | 16 | 1 | 2413 | 5.111 | 472 | 0 | null | 699.5 | 120725504 | 1207 | 22524 | 11468.8 | 77070.3 | 197132.3 | 299892.7 | 351898.6 | | | | | | | | user2314253027668161298 | 43 | 8.4 | 5.355243 | 1687781 | 1029412 | 658369 | 8192 | 450560 | 120725504 | since the cgroup was created | 45228032 | 85773312 | 88133632 | 12 | 1206 | 1114 | 0 | | 1206 | 44454.8 | 27394 | 122683.4 | 250609.7 | 358613 | 408001.2 | + diff --git a/reports/2026-10-07/2b41dd83-server3-ycsb-postgresql-sync-on-smoke.json b/reports/2026-10-07/2b41dd83-server3-ycsb-postgresql-sync-on-smoke.json new file mode 100644 index 0000000..9d46f37 --- /dev/null +++ b/reports/2026-10-07/2b41dd83-server3-ycsb-postgresql-sync-on-smoke.json @@ -0,0 +1,470 @@ +{ + "suite": "ycsb-postgresql-sync-on", + "machine": "server3", + "date": "2026-10-07", + "commit": "2b41dd83", + "smoke": true, + "note": "smoke run: it shows that the driver works, it is not a baseline", + "engine_name": "postgresql", + "cgroup": "/sys/fs/cgroup/system.slice/system-postgresql.slice/postgresql@19-main.service", + "records": 10000, + "field_count": 10, + "field_length": 100, + "distribution": "scrambled zipfian, constant 0.99", + "time_s": 5, + "seed": 1, + "kernel": "6.8.0-106-generic", + "server_version": "19beta4", + "synchronous_commit": { + "server": "on", + "run": "on", + "set_by_driver": true + }, + "load": { + "records": 10000, + "secs": 2.818, + "statements": "CREATE TABLE, COPY FROM STDIN, VACUUM ANALYZE, CHECKPOINT", + "server": { + "wall_s": 2.818018099, + "cpu_usec": 741628, + "user_usec": 491723, + "system_usec": 249905, + "rbytes": 3424256, + "wbytes": 21049344, + "memory_peak_bytes": 90279936, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 69603328, + "pss_max_bytes": 72999936, + "memory_current_max_bytes": 89948160, + "samples": 28 + } + }, + "idle_base": { + "wall_s": 10.045088472, + "cpu_usec": 39063, + "user_usec": 9765, + "system_usec": 29297, + "rbytes": 1376256, + "wbytes": 221184, + "memory_peak_bytes": 90279936, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 66793472, + "pss_max_bytes": 53690368, + "memory_current_max_bytes": 78360576, + "samples": 98 + }, + "rows": [ + { + "workload": "a", + "clients": 1, + "pipeline": 1, + "ops": 832, + "secs": 5.007, + "ops_per_s": 166, + "errors": 0, + "first_error": null, + "server_cpu_usec_per_op": 513.1, + "server_memory_peak": 90279936, + "read": { + "count": 410, + "mean_us": 3427.3, + "p50_us": 155.6, + "p95_us": 19136.5, + "p99_us": 47972.4, + "p999_us": 64605.5, + "max_us": 64605.5 + }, + "update": { + "count": 422, + "mean_us": 8529.4, + "p50_us": 2687, + "p95_us": 43253.8, + "p99_us": 76021.8, + "p999_us": 154136.7, + "max_us": 154136.7 + }, + "hottest_key": { + "key": "user2314253027668161298", + "updates": 18, + "updates_per_s": 3.6 + }, + "server": { + "wall_s": 5.055339909, + "cpu_usec": 426883, + "user_usec": 205243, + "system_usec": 221640, + "rbytes": 348160, + "wbytes": 6725632, + "memory_peak_bytes": 90279936, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 43909120, + "pss_max_bytes": 55369728, + "memory_current_max_bytes": 57016320, + "samples": 46 + }, + "check": { + "acknowledged_updates": 422, + "fields_checked": 397, + "fields_wrong": 0, + "examples": [] + } + }, + { + "workload": "a", + "clients": 16, + "pipeline": 1, + "ops": 2558, + "secs": 5.062, + "ops_per_s": 505, + "errors": 0, + "first_error": null, + "server_cpu_usec_per_op": 556.1, + "server_memory_peak": 96415744, + "read": { + "count": 1298, + "mean_us": 15291.7, + "p50_us": 5767.2, + "p95_us": 65273.9, + "p99_us": 149946.4, + "p999_us": 202375.2, + "max_us": 203218.4 + }, + "update": { + "count": 1260, + "mean_us": 47949.7, + "p50_us": 33423.4, + "p95_us": 131072, + "p99_us": 232783.9, + "p999_us": 299991.1, + "max_us": 299991.1 + }, + "hottest_key": { + "key": "user2314253027668161298", + "updates": 35, + "updates_per_s": 6.9 + }, + "server": { + "wall_s": 5.064266353, + "cpu_usec": 1422583, + "user_usec": 776949, + "system_usec": 645634, + "rbytes": 0, + "wbytes": 8814592, + "memory_peak_bytes": 96415744, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 50339840, + "pss_max_bytes": 83573760, + "memory_current_max_bytes": 94433280, + "samples": 12 + }, + "check": { + "acknowledged_updates": 1260, + "fields_checked": 1163, + "fields_wrong": 0, + "examples": [] + } + }, + { + "workload": "b", + "clients": 1, + "pipeline": 1, + "ops": 1962, + "secs": 5.004, + "ops_per_s": 392, + "errors": 0, + "first_error": null, + "server_cpu_usec_per_op": 201.6, + "server_memory_peak": 96415744, + "read": { + "count": 1866, + "mean_us": 2305.3, + "p50_us": 92.7, + "p95_us": 11010, + "p99_us": 46137.3, + "p999_us": 78118.9, + "max_us": 118133.7 + }, + "update": { + "count": 96, + "mean_us": 7265.5, + "p50_us": 3145.7, + "p95_us": 42991.6, + "p99_us": 67684.5, + "p999_us": 67684.5, + "max_us": 67684.5 + }, + "hottest_key": { + "key": "user2314253027668161298", + "updates": 6, + "updates_per_s": 1.2 + }, + "server": { + "wall_s": 5.017834544, + "cpu_usec": 395615, + "user_usec": 231441, + "system_usec": 164175, + "rbytes": 319488, + "wbytes": 1146880, + "memory_peak_bytes": 96415744, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 52027392, + "pss_max_bytes": 56331264, + "memory_current_max_bytes": 65650688, + "samples": 40 + }, + "check": { + "acknowledged_updates": 96, + "fields_checked": 95, + "fields_wrong": 0, + "examples": [] + } + }, + { + "workload": "b", + "clients": 16, + "pipeline": 1, + "ops": 4961, + "secs": 5.079, + "ops_per_s": 977, + "errors": 0, + "first_error": null, + "server_cpu_usec_per_op": 388.6, + "server_memory_peak": 97021952, + "read": { + "count": 4731, + "mean_us": 15095.3, + "p50_us": 4882.4, + "p95_us": 69206, + "p99_us": 145752.1, + "p999_us": 299892.7, + "max_us": 781956.8 + }, + "update": { + "count": 230, + "mean_us": 38061.2, + "p50_us": 24903.7, + "p95_us": 100139, + "p99_us": 145752.1, + "p999_us": 212179.6, + "max_us": 212179.6 + }, + "hottest_key": { + "key": "user2314253027668161298", + "updates": 10, + "updates_per_s": 2 + }, + "server": { + "wall_s": 5.104177296, + "cpu_usec": 1927782, + "user_usec": 1009583, + "system_usec": 918199, + "rbytes": 0, + "wbytes": 2023424, + "memory_peak_bytes": 97021952, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 52514816, + "pss_max_bytes": 85125120, + "memory_current_max_bytes": 95809536, + "samples": 8 + }, + "check": { + "acknowledged_updates": 230, + "fields_checked": 225, + "fields_wrong": 0, + "examples": [] + } + }, + { + "workload": "c", + "clients": 1, + "pipeline": 1, + "ops": 2094, + "secs": 5.005, + "ops_per_s": 418, + "errors": 0, + "first_error": null, + "server_cpu_usec_per_op": 161.4, + "server_memory_peak": 97021952, + "read": { + "count": 2094, + "mean_us": 2271.3, + "p50_us": 79.4, + "p95_us": 9240.6, + "p99_us": 45088.8, + "p999_us": 96469, + "max_us": 398010.3 + }, + "server": { + "wall_s": 5.084780461, + "cpu_usec": 337941, + "user_usec": 231625, + "system_usec": 106316, + "rbytes": 0, + "wbytes": 0, + "memory_peak_bytes": 97021952, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 52592640, + "pss_max_bytes": 56376320, + "memory_current_max_bytes": 66146304, + "samples": 37 + }, + "check": { + "acknowledged_updates": 0, + "fields_checked": 0, + "fields_wrong": 0, + "examples": [] + } + }, + { + "workload": "c", + "clients": 16, + "pipeline": 1, + "ops": 8090, + "secs": 5.214, + "ops_per_s": 1552, + "errors": 0, + "first_error": null, + "server_cpu_usec_per_op": 328, + "server_memory_peak": 120725504, + "read": { + "count": 8090, + "mean_us": 9942.8, + "p50_us": 2588.7, + "p95_us": 51642.4, + "p99_us": 85458.9, + "p999_us": 167772.2, + "max_us": 287749.6 + }, + "server": { + "wall_s": 5.284805357, + "cpu_usec": 2653802, + "user_usec": 1788671, + "system_usec": 865130, + "rbytes": 126976, + "wbytes": 229376, + "memory_peak_bytes": 120725504, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 53243904, + "pss_max_bytes": 109332480, + "memory_current_max_bytes": 119996416, + "samples": 9 + }, + "check": { + "acknowledged_updates": 0, + "fields_checked": 0, + "fields_wrong": 0, + "examples": [] + } + }, + { + "workload": "f", + "clients": 1, + "pipeline": 1, + "ops": 708, + "secs": 5.002, + "ops_per_s": 142, + "errors": 0, + "first_error": null, + "server_cpu_usec_per_op": 687.8, + "server_memory_peak": 120725504, + "read": { + "count": 379, + "mean_us": 2485.7, + "p50_us": 133.1, + "p95_us": 11599.9, + "p99_us": 49020.9, + "p999_us": 75010.2, + "max_us": 75010.2 + }, + "read_modify_write": { + "count": 329, + "mean_us": 12332.9, + "p50_us": 3276.8, + "p95_us": 58196, + "p99_us": 98041.9, + "p999_us": 252020.5, + "max_us": 252020.5 + }, + "hottest_key": { + "key": "user2314253027668161298", + "updates": 16, + "updates_per_s": 3.2 + }, + "server": { + "wall_s": 5.009899627, + "cpu_usec": 486972, + "user_usec": 277275, + "system_usec": 209696, + "rbytes": 0, + "wbytes": 3416064, + "memory_peak_bytes": 120725504, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 54054912, + "pss_max_bytes": 57175040, + "memory_current_max_bytes": 67555328, + "samples": 42 + }, + "check": { + "acknowledged_updates": 329, + "fields_checked": 313, + "fields_wrong": 0, + "examples": [] + } + }, + { + "workload": "f", + "clients": 16, + "pipeline": 1, + "ops": 2037, + "secs": 5.289, + "ops_per_s": 385, + "errors": 0, + "first_error": null, + "server_cpu_usec_per_op": 874.3, + "server_memory_peak": 120725504, + "read": { + "count": 1028, + "mean_us": 17655.6, + "p50_us": 6914, + "p95_us": 74973.2, + "p99_us": 160432.1, + "p999_us": 186646.5, + "max_us": 211297.6 + }, + "read_modify_write": { + "count": 1009, + "mean_us": 63058.2, + "p50_us": 51642.4, + "p95_us": 186646.5, + "p99_us": 278921.2, + "p999_us": 304087, + "max_us": 383631.8 + }, + "hottest_key": { + "key": "user2314253027668161298", + "updates": 39, + "updates_per_s": 7.4 + }, + "server": { + "wall_s": 5.307528555, + "cpu_usec": 1781008, + "user_usec": 947558, + "system_usec": 833449, + "rbytes": 1167360, + "wbytes": 4448256, + "memory_peak_bytes": 120725504, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 58478592, + "pss_max_bytes": 86146048, + "memory_current_max_bytes": 102748160, + "samples": 10 + }, + "check": { + "acknowledged_updates": 1009, + "fields_checked": 935, + "fields_wrong": 0, + "examples": [] + } + } + ] +} diff --git a/reports/2026-10-07/2b41dd83-server3-ycsb-postgresql-sync-on-smoke.md b/reports/2026-10-07/2b41dd83-server3-ycsb-postgresql-sync-on-smoke.md new file mode 100644 index 0000000..c862523 --- /dev/null +++ b/reports/2026-10-07/2b41dd83-server3-ycsb-postgresql-sync-on-smoke.md @@ -0,0 +1,81 @@ +# ycsb-postgresql-sync-on on server3, 2026-10-07 + +**This is a smoke run.** It shows that the driver works. It ran on a small scale or on a shared machine, so its numbers are not baselines and no claim may use them. + +| Field | Value | +|---|---| +| suite | ycsb-postgresql-sync-on | +| machine | server3 | +| date | 2026-10-07 | +| commit | 2b41dd83 | +| smoke | true | +| note | smoke run: it shows that the driver works, it is not a baseline | +| engine_name | postgresql | +| cgroup | /sys/fs/cgroup/system.slice/system-postgresql.slice/postgresql@19-main.service | +| records | 10000 | +| field_count | 10 | +| field_length | 100 | +| distribution | scrambled zipfian, constant 0.99 | +| time_s | 5 | +| seed | 1 | +| kernel | 6.8.0-106-generic | +| server_version | 19beta4 | + +## synchronous_commit + +| Field | Value | +|---|---| +| server | on | +| run | on | +| set_by_driver | true | + +## load + +| Field | Value | +|---|---| +| records | 10000 | +| secs | 2.818 | +| statements | CREATE TABLE, COPY FROM STDIN, VACUUM ANALYZE, CHECKPOINT | +| server.wall_s | 2.818018 | +| server.cpu_usec | 741628 | +| server.user_usec | 491723 | +| server.system_usec | 249905 | +| server.rbytes | 3424256 | +| server.wbytes | 21049344 | +| server.memory_peak_bytes | 90279936 | +| server.memory_peak_scope | since the cgroup was created | +| server.file_max_bytes | 69603328 | +| server.pss_max_bytes | 72999936 | +| server.memory_current_max_bytes | 89948160 | +| server.samples | 28 | + +## idle_base + +| Field | Value | +|---|---| +| wall_s | 10.045088 | +| cpu_usec | 39063 | +| user_usec | 9765 | +| system_usec | 29297 | +| rbytes | 1376256 | +| wbytes | 221184 | +| memory_peak_bytes | 90279936 | +| memory_peak_scope | since the cgroup was created | +| file_max_bytes | 66793472 | +| pss_max_bytes | 53690368 | +| memory_current_max_bytes | 78360576 | +| samples | 98 | + +## rows + +| workload | clients | pipeline | ops | secs | ops_per_s | errors | first_error | server_cpu_usec_per_op | server_memory_peak | read.count | read.mean_us | read.p50_us | read.p95_us | read.p99_us | read.p999_us | read.max_us | update.count | update.mean_us | update.p50_us | update.p95_us | update.p99_us | update.p999_us | update.max_us | hottest_key.key | hottest_key.updates | hottest_key.updates_per_s | server.wall_s | server.cpu_usec | server.user_usec | server.system_usec | server.rbytes | server.wbytes | server.memory_peak_bytes | server.memory_peak_scope | server.file_max_bytes | server.pss_max_bytes | server.memory_current_max_bytes | server.samples | check.acknowledged_updates | check.fields_checked | check.fields_wrong | check.examples | read_modify_write.count | read_modify_write.mean_us | read_modify_write.p50_us | read_modify_write.p95_us | read_modify_write.p99_us | read_modify_write.p999_us | read_modify_write.max_us | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| a | 1 | 1 | 832 | 5.007 | 166 | 0 | null | 513.1 | 90279936 | 410 | 3427.3 | 155.6 | 19136.5 | 47972.4 | 64605.5 | 64605.5 | 422 | 8529.4 | 2687 | 43253.8 | 76021.8 | 154136.7 | 154136.7 | user2314253027668161298 | 18 | 3.6 | 5.05534 | 426883 | 205243 | 221640 | 348160 | 6725632 | 90279936 | since the cgroup was created | 43909120 | 55369728 | 57016320 | 46 | 422 | 397 | 0 | | | | | | | | | +| a | 16 | 1 | 2558 | 5.062 | 505 | 0 | null | 556.1 | 96415744 | 1298 | 15291.7 | 5767.2 | 65273.9 | 149946.4 | 202375.2 | 203218.4 | 1260 | 47949.7 | 33423.4 | 131072 | 232783.9 | 299991.1 | 299991.1 | user2314253027668161298 | 35 | 6.9 | 5.064266 | 1422583 | 776949 | 645634 | 0 | 8814592 | 96415744 | since the cgroup was created | 50339840 | 83573760 | 94433280 | 12 | 1260 | 1163 | 0 | | | | | | | | | +| b | 1 | 1 | 1962 | 5.004 | 392 | 0 | null | 201.6 | 96415744 | 1866 | 2305.3 | 92.7 | 11010 | 46137.3 | 78118.9 | 118133.7 | 96 | 7265.5 | 3145.7 | 42991.6 | 67684.5 | 67684.5 | 67684.5 | user2314253027668161298 | 6 | 1.2 | 5.017835 | 395615 | 231441 | 164175 | 319488 | 1146880 | 96415744 | since the cgroup was created | 52027392 | 56331264 | 65650688 | 40 | 96 | 95 | 0 | | | | | | | | | +| b | 16 | 1 | 4961 | 5.079 | 977 | 0 | null | 388.6 | 97021952 | 4731 | 15095.3 | 4882.4 | 69206 | 145752.1 | 299892.7 | 781956.8 | 230 | 38061.2 | 24903.7 | 100139 | 145752.1 | 212179.6 | 212179.6 | user2314253027668161298 | 10 | 2 | 5.104177 | 1927782 | 1009583 | 918199 | 0 | 2023424 | 97021952 | since the cgroup was created | 52514816 | 85125120 | 95809536 | 8 | 230 | 225 | 0 | | | | | | | | | +| c | 1 | 1 | 2094 | 5.005 | 418 | 0 | null | 161.4 | 97021952 | 2094 | 2271.3 | 79.4 | 9240.6 | 45088.8 | 96469 | 398010.3 | | | | | | | | | | | 5.08478 | 337941 | 231625 | 106316 | 0 | 0 | 97021952 | since the cgroup was created | 52592640 | 56376320 | 66146304 | 37 | 0 | 0 | 0 | | | | | | | | | +| c | 16 | 1 | 8090 | 5.214 | 1552 | 0 | null | 328 | 120725504 | 8090 | 9942.8 | 2588.7 | 51642.4 | 85458.9 | 167772.2 | 287749.6 | | | | | | | | | | | 5.284805 | 2653802 | 1788671 | 865130 | 126976 | 229376 | 120725504 | since the cgroup was created | 53243904 | 109332480 | 119996416 | 9 | 0 | 0 | 0 | | | | | | | | | +| f | 1 | 1 | 708 | 5.002 | 142 | 0 | null | 687.8 | 120725504 | 379 | 2485.7 | 133.1 | 11599.9 | 49020.9 | 75010.2 | 75010.2 | | | | | | | | user2314253027668161298 | 16 | 3.2 | 5.0099 | 486972 | 277275 | 209696 | 0 | 3416064 | 120725504 | since the cgroup was created | 54054912 | 57175040 | 67555328 | 42 | 329 | 313 | 0 | | 329 | 12332.9 | 3276.8 | 58196 | 98041.9 | 252020.5 | 252020.5 | +| f | 16 | 1 | 2037 | 5.289 | 385 | 0 | null | 874.3 | 120725504 | 1028 | 17655.6 | 6914 | 74973.2 | 160432.1 | 186646.5 | 211297.6 | | | | | | | | user2314253027668161298 | 39 | 7.4 | 5.307529 | 1781008 | 947558 | 833449 | 1167360 | 4448256 | 120725504 | since the cgroup was created | 58478592 | 86146048 | 102748160 | 10 | 1009 | 935 | 0 | | 1009 | 63058.2 | 51642.4 | 186646.5 | 278921.2 | 304087 | 383631.8 | + From fb76dcfd9a0f6f7070f0ff5df3dced9d11528998 Mon Sep 17 00:00:00 2001 From: tamnd <1218621+tamnd@users.noreply.github.com> Date: Wed, 7 Oct 2026 22:20:11 +0700 Subject: [PATCH 3/4] Shorten the ClickBench concurrent test in a smoke run of run-suite.sh --- machines/run-suite.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/machines/run-suite.sh b/machines/run-suite.sh index 65984e9..09f7e93 100755 --- a/machines/run-suite.sh +++ b/machines/run-suite.sh @@ -163,6 +163,10 @@ clickbench) cp -r "$src/lib" "$run/lib" answers=$run/answers-postgresql first=yes + # The concurrent test of the pin runs for 600 s. A smoke run shortens it to 60 s unless the setting is in the environment. + if [ "$smoke" = 1 ]; then + export BENCH_CONCURRENT_DURATION=${BENCH_CONCURRENT_DURATION:-60} + fi for engine in $engines; do rm -rf "${run:?}/$engine" cp -r "$src/$engine" "$run/$engine" From 3fd3c36721248bdef51574cc03daf3783a7cb4aa Mon Sep 17 00:00:00 2001 From: tamnd Date: Wed, 7 Oct 2026 22:51:58 +0700 Subject: [PATCH 4/4] Add the ClickBench smoke reports of run-suite.sh on server3 --- ...6dcfd-server3-clickbench-duckdb-smoke.json | 768 +++++++++++++++++ ...b76dcfd-server3-clickbench-duckdb-smoke.md | 138 ++++ ...d-server3-clickbench-postgresql-smoke.json | 782 ++++++++++++++++++ ...cfd-server3-clickbench-postgresql-smoke.md | 155 ++++ 4 files changed, 1843 insertions(+) create mode 100644 reports/2026-10-07/fb76dcfd-server3-clickbench-duckdb-smoke.json create mode 100644 reports/2026-10-07/fb76dcfd-server3-clickbench-duckdb-smoke.md create mode 100644 reports/2026-10-07/fb76dcfd-server3-clickbench-postgresql-smoke.json create mode 100644 reports/2026-10-07/fb76dcfd-server3-clickbench-postgresql-smoke.md diff --git a/reports/2026-10-07/fb76dcfd-server3-clickbench-duckdb-smoke.json b/reports/2026-10-07/fb76dcfd-server3-clickbench-duckdb-smoke.json new file mode 100644 index 0000000..f0b1689 --- /dev/null +++ b/reports/2026-10-07/fb76dcfd-server3-clickbench-duckdb-smoke.json @@ -0,0 +1,768 @@ +{ + "suite": "clickbench-duckdb", + "machine": "server3", + "date": "2026-10-07", + "commit": "fb76dcfd", + "smoke": true, + "note": "smoke run: it shows that the driver works, it is not a baseline", + "engine_name": "duckdb", + "dir": "/root/work/rbdata/clickbench/duckdb", + "settings": { + "BENCH_DOWNLOAD_SCRIPT": "download-hits-parquet-single", + "BENCH_RESTARTABLE": "no", + "BENCH_DURABLE": "yes", + "BENCH_TRIES": "3", + "BENCH_QUERIES_FILE": "queries.sql", + "BENCH_CHECK_TIMEOUT": "300", + "BENCH_CONCURRENT_CONNECTIONS": "10", + "BENCH_CONCURRENT_DURATION": "60" + }, + "measure": { + "mode": "in process, each query in a new cgroup", + "cgroup_prefix": "clickbench-duckdb", + "cpus": null + }, + "steps": [ + "load", + "run", + "concurrent" + ], + "kernel": "6.8.0-106-generic", + "load": { + "source": "/root/work/data/hits-smoke.parquet", + "load_time_s": 3.9140139400000002, + "usage": { + "wall_s": 3.9141615659999998, + "cpu_usec": 3699494, + "user_usec": 3096161, + "system_usec": 603332, + "rbytes": 36864, + "wbytes": 13393920, + "memory_peak_bytes": 262672384, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 13422592, + "pss_max_bytes": 269895680, + "memory_current_max_bytes": 262422528, + "samples": 35 + } + }, + "engine_version": "v1.5.6 (Variegata) 069cc9f9b5", + "data_size_bytes": 13381632, + "concurrent": { + "lib": "/root/work/rbdata/clickbench/duckdb/../lib/benchmark-common.sh", + "qps": 3.5, + "error_ratio": 0.87, + "usage": { + "wall_s": 63.392371325, + "cpu_usec": 132962753, + "user_usec": 46472196, + "system_usec": 86490556, + "rbytes": 58884096, + "wbytes": 204800, + "memory_peak_bytes": 108437504, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 58212352, + "pss_max_bytes": 60941312, + "memory_current_max_bytes": 106541056, + "samples": 520 + } + }, + "totals": { + "hot_s": 1.5939999999999996, + "cold_s": 9.131999999999996, + "failed": 0, + "checked": 0, + "wrong": 0, + "answers_from": null + }, + "results": [ + { + "query": "q0", + "runs_s": [0.067, 0.012, 0.008], + "cold_s": 0.067, + "hot_s": 0.008, + "cold_rbytes": 25632768, + "cold_cpu_usec": 137433, + "hot_cpu_usec": 246352, + "memory_peak_bytes": 31547392, + "pss_max_bytes": 21795840, + "rows": 1, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.067, 0.012, 0.008] + }, + { + "query": "q1", + "runs_s": [0.072, 0.004, 0.005], + "cold_s": 0.072, + "hot_s": 0.004, + "cold_rbytes": 27348992, + "cold_cpu_usec": 160109, + "hot_cpu_usec": 215769, + "memory_peak_bytes": 33718272, + "pss_max_bytes": 22667264, + "rows": 1, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.072, 0.004, 0.005] + }, + { + "query": "q2", + "runs_s": [0.134, 0.005, 0.007], + "cold_s": 0.134, + "hot_s": 0.005, + "cold_rbytes": 26923008, + "cold_cpu_usec": 151282, + "hot_cpu_usec": 314057, + "memory_peak_bytes": 33902592, + "pss_max_bytes": 23191552, + "rows": 1, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.134, 0.005, 0.007] + }, + { + "query": "q3", + "runs_s": [0.076, 0.003, 0.012], + "cold_s": 0.076, + "hot_s": 0.003, + "cold_rbytes": 26890240, + "cold_cpu_usec": 131837, + "hot_cpu_usec": 247861, + "memory_peak_bytes": 33198080, + "pss_max_bytes": 22914048, + "rows": 1, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.076, 0.003, 0.012] + }, + { + "query": "q4", + "runs_s": [0.153, 0.017, 0.051], + "cold_s": 0.153, + "hot_s": 0.017, + "cold_rbytes": 27525120, + "cold_cpu_usec": 291031, + "hot_cpu_usec": 297992, + "memory_peak_bytes": 36306944, + "pss_max_bytes": 27634688, + "rows": 1, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.153, 0.017, 0.051] + }, + { + "query": "q5", + "runs_s": [0.349, 0.046, 0.17], + "cold_s": 0.349, + "hot_s": 0.046, + "cold_rbytes": 26787840, + "cold_cpu_usec": 285252, + "hot_cpu_usec": 637323, + "memory_peak_bytes": 35401728, + "pss_max_bytes": 26393600, + "rows": 1, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.349, 0.046, 0.17] + }, + { + "query": "q6", + "runs_s": [0.079, 0.002, 0.001], + "cold_s": 0.079, + "hot_s": 0.001, + "cold_rbytes": 25559040, + "cold_cpu_usec": 220553, + "hot_cpu_usec": 255524, + "memory_peak_bytes": 32190464, + "pss_max_bytes": 23062528, + "rows": 1, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.079, 0.002, 0.001] + }, + { + "query": "q7", + "runs_s": [0.102, 0.003, 0.008], + "cold_s": 0.102, + "hot_s": 0.003, + "cold_rbytes": 28532736, + "cold_cpu_usec": 191422, + "hot_cpu_usec": 180508, + "memory_peak_bytes": 35176448, + "pss_max_bytes": 26274816, + "rows": 3, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.102, 0.003, 0.008] + }, + { + "query": "q8", + "runs_s": [0.208, 0.039, 0.058], + "cold_s": 0.208, + "hot_s": 0.039, + "cold_rbytes": 28266496, + "cold_cpu_usec": 221596, + "hot_cpu_usec": 226750, + "memory_peak_bytes": 38662144, + "pss_max_bytes": 29763584, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.208, 0.039, 0.058] + }, + { + "query": "q9", + "runs_s": [0.306, 0.092, 0.077], + "cold_s": 0.306, + "hot_s": 0.077, + "cold_rbytes": 28614656, + "cold_cpu_usec": 369481, + "hot_cpu_usec": 356899, + "memory_peak_bytes": 43483136, + "pss_max_bytes": 33848320, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.306, 0.092, 0.077] + }, + { + "query": "q10", + "runs_s": [0.129, 0.078, 0.076], + "cold_s": 0.129, + "hot_s": 0.076, + "cold_rbytes": 28012544, + "cold_cpu_usec": 280301, + "hot_cpu_usec": 278385, + "memory_peak_bytes": 38432768, + "pss_max_bytes": 29679616, + "rows": 6, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.129, 0.078, 0.076] + }, + { + "query": "q11", + "runs_s": [0.13, 0.055, 0.012], + "cold_s": 0.13, + "hot_s": 0.012, + "cold_rbytes": 28540928, + "cold_cpu_usec": 219233, + "hot_cpu_usec": 268901, + "memory_peak_bytes": 38248448, + "pss_max_bytes": 29533184, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.13, 0.055, 0.012] + }, + { + "query": "q12", + "runs_s": [0.236, 0.022, 0.019], + "cold_s": 0.236, + "hot_s": 0.019, + "cold_rbytes": 27299840, + "cold_cpu_usec": 158255, + "hot_cpu_usec": 201773, + "memory_peak_bytes": 36823040, + "pss_max_bytes": 28739584, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.236, 0.022, 0.019] + }, + { + "query": "q13", + "runs_s": [0.203, 0.115, 0.021], + "cold_s": 0.203, + "hot_s": 0.021, + "cold_rbytes": 28151808, + "cold_cpu_usec": 327780, + "hot_cpu_usec": 439949, + "memory_peak_bytes": 42713088, + "pss_max_bytes": 30523392, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.203, 0.115, 0.021] + }, + { + "query": "q14", + "runs_s": [0.171, 0.055, 0.067], + "cold_s": 0.171, + "hot_s": 0.055, + "cold_rbytes": 28254208, + "cold_cpu_usec": 182318, + "hot_cpu_usec": 174789, + "memory_peak_bytes": 37842944, + "pss_max_bytes": 27942912, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.171, 0.055, 0.067] + }, + { + "query": "q15", + "runs_s": [0.234, 0.091, 0.017], + "cold_s": 0.234, + "hot_s": 0.017, + "cold_rbytes": 29466624, + "cold_cpu_usec": 226675, + "hot_cpu_usec": 392072, + "memory_peak_bytes": 39034880, + "pss_max_bytes": 30528512, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.234, 0.091, 0.017] + }, + { + "query": "q16", + "runs_s": [0.181, 0.078, 0.072], + "cold_s": 0.181, + "hot_s": 0.072, + "cold_rbytes": 29839360, + "cold_cpu_usec": 218862, + "hot_cpu_usec": 279296, + "memory_peak_bytes": 42340352, + "pss_max_bytes": 29254656, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.181, 0.078, 0.072] + }, + { + "query": "q17", + "runs_s": [0.219, 0.049, 0.067], + "cold_s": 0.219, + "hot_s": 0.049, + "cold_rbytes": 29417472, + "cold_cpu_usec": 181674, + "hot_cpu_usec": 259116, + "memory_peak_bytes": 41058304, + "pss_max_bytes": 26881024, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.219, 0.049, 0.067] + }, + { + "query": "q18", + "runs_s": [0.382, 0.12, 0.083], + "cold_s": 0.382, + "hot_s": 0.083, + "cold_rbytes": 30588928, + "cold_cpu_usec": 312616, + "hot_cpu_usec": 396767, + "memory_peak_bytes": 46833664, + "pss_max_bytes": 37959680, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.382, 0.12, 0.083] + }, + { + "query": "q19", + "runs_s": [0.066, 0.002, 0.001], + "cold_s": 0.066, + "hot_s": 0.001, + "cold_rbytes": 25628672, + "cold_cpu_usec": 179601, + "hot_cpu_usec": 155615, + "memory_peak_bytes": 32141312, + "pss_max_bytes": 24007680, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.066, 0.002, 0.001] + }, + { + "query": "q20", + "runs_s": [0.187, 0.059, 0.094], + "cold_s": 0.187, + "hot_s": 0.059, + "cold_rbytes": 28741632, + "cold_cpu_usec": 269224, + "hot_cpu_usec": 386030, + "memory_peak_bytes": 38092800, + "pss_max_bytes": 26613760, + "rows": 1, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.187, 0.059, 0.094] + }, + { + "query": "q21", + "runs_s": [0.157, 0.098, 0.01], + "cold_s": 0.157, + "hot_s": 0.01, + "cold_rbytes": 30793728, + "cold_cpu_usec": 228460, + "hot_cpu_usec": 299702, + "memory_peak_bytes": 40316928, + "pss_max_bytes": 25862144, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.157, 0.098, 0.01] + }, + { + "query": "q22", + "runs_s": [0.551, 0.172, 0.132], + "cold_s": 0.551, + "hot_s": 0.132, + "cold_rbytes": 35098624, + "cold_cpu_usec": 552894, + "hot_cpu_usec": 576590, + "memory_peak_bytes": 54136832, + "pss_max_bytes": 37594112, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.551, 0.172, 0.132] + }, + { + "query": "q23", + "runs_s": [0.319, 0.191, 0.111], + "cold_s": 0.319, + "hot_s": 0.111, + "cold_rbytes": 38371328, + "cold_cpu_usec": 435411, + "hot_cpu_usec": 541699, + "memory_peak_bytes": 58363904, + "pss_max_bytes": 41062400, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.319, 0.191, 0.111] + }, + { + "query": "q24", + "runs_s": [0.135, 0.053, 0.062], + "cold_s": 0.135, + "hot_s": 0.053, + "cold_rbytes": 29577216, + "cold_cpu_usec": 301376, + "hot_cpu_usec": 288765, + "memory_peak_bytes": 38359040, + "pss_max_bytes": 27669504, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.135, 0.053, 0.062] + }, + { + "query": "q25", + "runs_s": [0.193, 0.011, 0.011], + "cold_s": 0.193, + "hot_s": 0.011, + "cold_rbytes": 26525696, + "cold_cpu_usec": 234614, + "hot_cpu_usec": 203716, + "memory_peak_bytes": 33918976, + "pss_max_bytes": 25489408, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.193, 0.011, 0.011] + }, + { + "query": "q26", + "runs_s": [0.138, 0.01, 0.007], + "cold_s": 0.138, + "hot_s": 0.007, + "cold_rbytes": 27721728, + "cold_cpu_usec": 182139, + "hot_cpu_usec": 182637, + "memory_peak_bytes": 35708928, + "pss_max_bytes": 26066944, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.138, 0.01, 0.007] + }, + { + "query": "q27", + "runs_s": [0.705, 0.069, 0.03], + "cold_s": 0.705, + "hot_s": 0.03, + "cold_rbytes": 29741056, + "cold_cpu_usec": 594870, + "hot_cpu_usec": 384608, + "memory_peak_bytes": 38666240, + "pss_max_bytes": 28446720, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.705, 0.069, 0.03] + }, + { + "query": "q28", + "runs_s": [0.516, 0.138, 0.341], + "cold_s": 0.516, + "hot_s": 0.138, + "cold_rbytes": 29589504, + "cold_cpu_usec": 560119, + "hot_cpu_usec": 548785, + "memory_peak_bytes": 41676800, + "pss_max_bytes": 31040512, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.516, 0.138, 0.341] + }, + { + "query": "q29", + "runs_s": [0.193, 0.075, 0.059], + "cold_s": 0.193, + "hot_s": 0.059, + "cold_rbytes": 27344896, + "cold_cpu_usec": 243505, + "hot_cpu_usec": 233594, + "memory_peak_bytes": 37683200, + "pss_max_bytes": 29268992, + "rows": 1, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.193, 0.075, 0.059] + }, + { + "query": "q30", + "runs_s": [0.287, 0.019, 0.028], + "cold_s": 0.287, + "hot_s": 0.019, + "cold_rbytes": 30986240, + "cold_cpu_usec": 517562, + "hot_cpu_usec": 403440, + "memory_peak_bytes": 41562112, + "pss_max_bytes": 31823872, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.287, 0.019, 0.028] + }, + { + "query": "q31", + "runs_s": [0.231, 0.028, 0.028], + "cold_s": 0.231, + "hot_s": 0.028, + "cold_rbytes": 31604736, + "cold_cpu_usec": 242786, + "hot_cpu_usec": 346647, + "memory_peak_bytes": 45088768, + "pss_max_bytes": 30018560, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.231, 0.028, 0.028] + }, + { + "query": "q32", + "runs_s": [0.344, 0.15, 0.091], + "cold_s": 0.344, + "hot_s": 0.091, + "cold_rbytes": 31076352, + "cold_cpu_usec": 266409, + "hot_cpu_usec": 512123, + "memory_peak_bytes": 53051392, + "pss_max_bytes": 43110400, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.344, 0.15, 0.091] + }, + { + "query": "q33", + "runs_s": [0.22, 0.067, 0.077], + "cold_s": 0.22, + "hot_s": 0.067, + "cold_rbytes": 29253632, + "cold_cpu_usec": 353167, + "hot_cpu_usec": 262843, + "memory_peak_bytes": 46751744, + "pss_max_bytes": 36676608, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.22, 0.067, 0.077] + }, + { + "query": "q34", + "runs_s": [0.316, 0.167, 0.115], + "cold_s": 0.316, + "hot_s": 0.115, + "cold_rbytes": 29274112, + "cold_cpu_usec": 419832, + "hot_cpu_usec": 560310, + "memory_peak_bytes": 46993408, + "pss_max_bytes": 30162944, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.316, 0.167, 0.115] + }, + { + "query": "q35", + "runs_s": [0.21, 0.024, 0.016], + "cold_s": 0.21, + "hot_s": 0.016, + "cold_rbytes": 29683712, + "cold_cpu_usec": 319631, + "hot_cpu_usec": 222236, + "memory_peak_bytes": 39751680, + "pss_max_bytes": 30268416, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.21, 0.024, 0.016] + }, + { + "query": "q36", + "runs_s": [0.16, 0.068, 0.007], + "cold_s": 0.16, + "hot_s": 0.007, + "cold_rbytes": 26480640, + "cold_cpu_usec": 277232, + "hot_cpu_usec": 280187, + "memory_peak_bytes": 32694272, + "pss_max_bytes": 24232960, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.16, 0.068, 0.007] + }, + { + "query": "q37", + "runs_s": [0.104, 0.012, 0.007], + "cold_s": 0.104, + "hot_s": 0.007, + "cold_rbytes": 26136576, + "cold_cpu_usec": 256461, + "hot_cpu_usec": 235148, + "memory_peak_bytes": 32628736, + "pss_max_bytes": 24344576, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.104, 0.012, 0.007] + }, + { + "query": "q38", + "runs_s": [0.107, 0.004, 0.002], + "cold_s": 0.107, + "hot_s": 0.002, + "cold_rbytes": 26193920, + "cold_cpu_usec": 271243, + "hot_cpu_usec": 257313, + "memory_peak_bytes": 32632832, + "pss_max_bytes": 21793792, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.107, 0.004, 0.002] + }, + { + "query": "q39", + "runs_s": [0.218, 0.012, 0.011], + "cold_s": 0.218, + "hot_s": 0.011, + "cold_rbytes": 27025408, + "cold_cpu_usec": 189705, + "hot_cpu_usec": 202780, + "memory_peak_bytes": 33685504, + "pss_max_bytes": 23945216, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.218, 0.012, 0.011] + }, + { + "query": "q40", + "runs_s": [0.196, 0.009, 0.004], + "cold_s": 0.196, + "hot_s": 0.004, + "cold_rbytes": 28336128, + "cold_cpu_usec": 237966, + "hot_cpu_usec": 207817, + "memory_peak_bytes": 34594816, + "pss_max_bytes": 24378368, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.196, 0.009, 0.004] + }, + { + "query": "q41", + "runs_s": [0.099, 0.005, 0.008], + "cold_s": 0.099, + "hot_s": 0.005, + "cold_rbytes": 27303936, + "cold_cpu_usec": 200679, + "hot_cpu_usec": 259846, + "memory_peak_bytes": 33984512, + "pss_max_bytes": 24275968, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.099, 0.005, 0.008] + }, + { + "query": "q42", + "runs_s": [0.049, 0.004, 0.004], + "cold_s": 0.049, + "hot_s": 0.004, + "cold_rbytes": 26284032, + "cold_cpu_usec": 172891, + "hot_cpu_usec": 182267, + "memory_peak_bytes": 32628736, + "pss_max_bytes": 24460288, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [0.049, 0.004, 0.004] + } + ] +} diff --git a/reports/2026-10-07/fb76dcfd-server3-clickbench-duckdb-smoke.md b/reports/2026-10-07/fb76dcfd-server3-clickbench-duckdb-smoke.md new file mode 100644 index 0000000..73733f6 --- /dev/null +++ b/reports/2026-10-07/fb76dcfd-server3-clickbench-duckdb-smoke.md @@ -0,0 +1,138 @@ +# clickbench-duckdb on server3, 2026-10-07 + +**This is a smoke run.** It shows that the driver works. It ran on a small scale or on a shared machine, so its numbers are not baselines and no claim may use them. + +| Field | Value | +|---|---| +| suite | clickbench-duckdb | +| machine | server3 | +| date | 2026-10-07 | +| commit | fb76dcfd | +| smoke | true | +| note | smoke run: it shows that the driver works, it is not a baseline | +| engine_name | duckdb | +| dir | /root/work/rbdata/clickbench/duckdb | +| steps | load, run, concurrent | +| kernel | 6.8.0-106-generic | +| engine_version | v1.5.6 (Variegata) 069cc9f9b5 | +| data_size_bytes | 13381632 | + +## settings + +| Field | Value | +|---|---| +| BENCH_DOWNLOAD_SCRIPT | download-hits-parquet-single | +| BENCH_RESTARTABLE | no | +| BENCH_DURABLE | yes | +| BENCH_TRIES | 3 | +| BENCH_QUERIES_FILE | queries.sql | +| BENCH_CHECK_TIMEOUT | 300 | +| BENCH_CONCURRENT_CONNECTIONS | 10 | +| BENCH_CONCURRENT_DURATION | 60 | + +## measure + +| Field | Value | +|---|---| +| mode | in process, each query in a new cgroup | +| cgroup_prefix | clickbench-duckdb | +| cpus | null | + +## load + +| Field | Value | +|---|---| +| source | /root/work/data/hits-smoke.parquet | +| load_time_s | 3.914014 | +| usage.wall_s | 3.914162 | +| usage.cpu_usec | 3699494 | +| usage.user_usec | 3096161 | +| usage.system_usec | 603332 | +| usage.rbytes | 36864 | +| usage.wbytes | 13393920 | +| usage.memory_peak_bytes | 262672384 | +| usage.memory_peak_scope | since the cgroup was created | +| usage.file_max_bytes | 13422592 | +| usage.pss_max_bytes | 269895680 | +| usage.memory_current_max_bytes | 262422528 | +| usage.samples | 35 | + +## concurrent + +| Field | Value | +|---|---| +| lib | /root/work/rbdata/clickbench/duckdb/../lib/benchmark-common.sh | +| qps | 3.5 | +| error_ratio | 0.87 | +| usage.wall_s | 63.392371 | +| usage.cpu_usec | 132962753 | +| usage.user_usec | 46472196 | +| usage.system_usec | 86490556 | +| usage.rbytes | 58884096 | +| usage.wbytes | 204800 | +| usage.memory_peak_bytes | 108437504 | +| usage.memory_peak_scope | since the cgroup was created | +| usage.file_max_bytes | 58212352 | +| usage.pss_max_bytes | 60941312 | +| usage.memory_current_max_bytes | 106541056 | +| usage.samples | 520 | + +## totals + +| Field | Value | +|---|---| +| hot_s | 1.594 | +| cold_s | 9.132 | +| failed | 0 | +| checked | 0 | +| wrong | 0 | +| answers_from | null | + +## results + +| query | runs_s | cold_s | hot_s | cold_rbytes | cold_cpu_usec | hot_cpu_usec | memory_peak_bytes | pss_max_bytes | rows | answer | answer_rule | error | tries_s | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| q0 | 0.067, 0.012, 0.008 | 0.067 | 0.008 | 25632768 | 137433 | 246352 | 31547392 | 21795840 | 1 | not checked | null | null | 0.067, 0.012, 0.008 | +| q1 | 0.072, 0.004, 0.005 | 0.072 | 0.004 | 27348992 | 160109 | 215769 | 33718272 | 22667264 | 1 | not checked | null | null | 0.072, 0.004, 0.005 | +| q2 | 0.134, 0.005, 0.007 | 0.134 | 0.005 | 26923008 | 151282 | 314057 | 33902592 | 23191552 | 1 | not checked | null | null | 0.134, 0.005, 0.007 | +| q3 | 0.076, 0.003, 0.012 | 0.076 | 0.003 | 26890240 | 131837 | 247861 | 33198080 | 22914048 | 1 | not checked | null | null | 0.076, 0.003, 0.012 | +| q4 | 0.153, 0.017, 0.051 | 0.153 | 0.017 | 27525120 | 291031 | 297992 | 36306944 | 27634688 | 1 | not checked | null | null | 0.153, 0.017, 0.051 | +| q5 | 0.349, 0.046, 0.17 | 0.349 | 0.046 | 26787840 | 285252 | 637323 | 35401728 | 26393600 | 1 | not checked | null | null | 0.349, 0.046, 0.17 | +| q6 | 0.079, 0.002, 0.001 | 0.079 | 0.001 | 25559040 | 220553 | 255524 | 32190464 | 23062528 | 1 | not checked | null | null | 0.079, 0.002, 0.001 | +| q7 | 0.102, 0.003, 0.008 | 0.102 | 0.003 | 28532736 | 191422 | 180508 | 35176448 | 26274816 | 3 | not checked | null | null | 0.102, 0.003, 0.008 | +| q8 | 0.208, 0.039, 0.058 | 0.208 | 0.039 | 28266496 | 221596 | 226750 | 38662144 | 29763584 | 10 | not checked | null | null | 0.208, 0.039, 0.058 | +| q9 | 0.306, 0.092, 0.077 | 0.306 | 0.077 | 28614656 | 369481 | 356899 | 43483136 | 33848320 | 10 | not checked | null | null | 0.306, 0.092, 0.077 | +| q10 | 0.129, 0.078, 0.076 | 0.129 | 0.076 | 28012544 | 280301 | 278385 | 38432768 | 29679616 | 6 | not checked | null | null | 0.129, 0.078, 0.076 | +| q11 | 0.13, 0.055, 0.012 | 0.13 | 0.012 | 28540928 | 219233 | 268901 | 38248448 | 29533184 | 10 | not checked | null | null | 0.13, 0.055, 0.012 | +| q12 | 0.236, 0.022, 0.019 | 0.236 | 0.019 | 27299840 | 158255 | 201773 | 36823040 | 28739584 | 10 | not checked | null | null | 0.236, 0.022, 0.019 | +| q13 | 0.203, 0.115, 0.021 | 0.203 | 0.021 | 28151808 | 327780 | 439949 | 42713088 | 30523392 | 10 | not checked | null | null | 0.203, 0.115, 0.021 | +| q14 | 0.171, 0.055, 0.067 | 0.171 | 0.055 | 28254208 | 182318 | 174789 | 37842944 | 27942912 | 10 | not checked | null | null | 0.171, 0.055, 0.067 | +| q15 | 0.234, 0.091, 0.017 | 0.234 | 0.017 | 29466624 | 226675 | 392072 | 39034880 | 30528512 | 10 | not checked | null | null | 0.234, 0.091, 0.017 | +| q16 | 0.181, 0.078, 0.072 | 0.181 | 0.072 | 29839360 | 218862 | 279296 | 42340352 | 29254656 | 10 | not checked | null | null | 0.181, 0.078, 0.072 | +| q17 | 0.219, 0.049, 0.067 | 0.219 | 0.049 | 29417472 | 181674 | 259116 | 41058304 | 26881024 | 10 | not checked | null | null | 0.219, 0.049, 0.067 | +| q18 | 0.382, 0.12, 0.083 | 0.382 | 0.083 | 30588928 | 312616 | 396767 | 46833664 | 37959680 | 10 | not checked | null | null | 0.382, 0.12, 0.083 | +| q19 | 0.066, 0.002, 0.001 | 0.066 | 0.001 | 25628672 | 179601 | 155615 | 32141312 | 24007680 | 0 | not checked | null | null | 0.066, 0.002, 0.001 | +| q20 | 0.187, 0.059, 0.094 | 0.187 | 0.059 | 28741632 | 269224 | 386030 | 38092800 | 26613760 | 1 | not checked | null | null | 0.187, 0.059, 0.094 | +| q21 | 0.157, 0.098, 0.01 | 0.157 | 0.01 | 30793728 | 228460 | 299702 | 40316928 | 25862144 | 0 | not checked | null | null | 0.157, 0.098, 0.01 | +| q22 | 0.551, 0.172, 0.132 | 0.551 | 0.132 | 35098624 | 552894 | 576590 | 54136832 | 37594112 | 10 | not checked | null | null | 0.551, 0.172, 0.132 | +| q23 | 0.319, 0.191, 0.111 | 0.319 | 0.111 | 38371328 | 435411 | 541699 | 58363904 | 41062400 | 0 | not checked | null | null | 0.319, 0.191, 0.111 | +| q24 | 0.135, 0.053, 0.062 | 0.135 | 0.053 | 29577216 | 301376 | 288765 | 38359040 | 27669504 | 10 | not checked | null | null | 0.135, 0.053, 0.062 | +| q25 | 0.193, 0.011, 0.011 | 0.193 | 0.011 | 26525696 | 234614 | 203716 | 33918976 | 25489408 | 10 | not checked | null | null | 0.193, 0.011, 0.011 | +| q26 | 0.138, 0.01, 0.007 | 0.138 | 0.007 | 27721728 | 182139 | 182637 | 35708928 | 26066944 | 10 | not checked | null | null | 0.138, 0.01, 0.007 | +| q27 | 0.705, 0.069, 0.03 | 0.705 | 0.03 | 29741056 | 594870 | 384608 | 38666240 | 28446720 | 0 | not checked | null | null | 0.705, 0.069, 0.03 | +| q28 | 0.516, 0.138, 0.341 | 0.516 | 0.138 | 29589504 | 560119 | 548785 | 41676800 | 31040512 | 0 | not checked | null | null | 0.516, 0.138, 0.341 | +| q29 | 0.193, 0.075, 0.059 | 0.193 | 0.059 | 27344896 | 243505 | 233594 | 37683200 | 29268992 | 1 | not checked | null | null | 0.193, 0.075, 0.059 | +| q30 | 0.287, 0.019, 0.028 | 0.287 | 0.019 | 30986240 | 517562 | 403440 | 41562112 | 31823872 | 10 | not checked | null | null | 0.287, 0.019, 0.028 | +| q31 | 0.231, 0.028, 0.028 | 0.231 | 0.028 | 31604736 | 242786 | 346647 | 45088768 | 30018560 | 10 | not checked | null | null | 0.231, 0.028, 0.028 | +| q32 | 0.344, 0.15, 0.091 | 0.344 | 0.091 | 31076352 | 266409 | 512123 | 53051392 | 43110400 | 10 | not checked | null | null | 0.344, 0.15, 0.091 | +| q33 | 0.22, 0.067, 0.077 | 0.22 | 0.067 | 29253632 | 353167 | 262843 | 46751744 | 36676608 | 10 | not checked | null | null | 0.22, 0.067, 0.077 | +| q34 | 0.316, 0.167, 0.115 | 0.316 | 0.115 | 29274112 | 419832 | 560310 | 46993408 | 30162944 | 10 | not checked | null | null | 0.316, 0.167, 0.115 | +| q35 | 0.21, 0.024, 0.016 | 0.21 | 0.016 | 29683712 | 319631 | 222236 | 39751680 | 30268416 | 10 | not checked | null | null | 0.21, 0.024, 0.016 | +| q36 | 0.16, 0.068, 0.007 | 0.16 | 0.007 | 26480640 | 277232 | 280187 | 32694272 | 24232960 | 0 | not checked | null | null | 0.16, 0.068, 0.007 | +| q37 | 0.104, 0.012, 0.007 | 0.104 | 0.007 | 26136576 | 256461 | 235148 | 32628736 | 24344576 | 0 | not checked | null | null | 0.104, 0.012, 0.007 | +| q38 | 0.107, 0.004, 0.002 | 0.107 | 0.002 | 26193920 | 271243 | 257313 | 32632832 | 21793792 | 0 | not checked | null | null | 0.107, 0.004, 0.002 | +| q39 | 0.218, 0.012, 0.011 | 0.218 | 0.011 | 27025408 | 189705 | 202780 | 33685504 | 23945216 | 0 | not checked | null | null | 0.218, 0.012, 0.011 | +| q40 | 0.196, 0.009, 0.004 | 0.196 | 0.004 | 28336128 | 237966 | 207817 | 34594816 | 24378368 | 0 | not checked | null | null | 0.196, 0.009, 0.004 | +| q41 | 0.099, 0.005, 0.008 | 0.099 | 0.005 | 27303936 | 200679 | 259846 | 33984512 | 24275968 | 0 | not checked | null | null | 0.099, 0.005, 0.008 | +| q42 | 0.049, 0.004, 0.004 | 0.049 | 0.004 | 26284032 | 172891 | 182267 | 32628736 | 24460288 | 0 | not checked | null | null | 0.049, 0.004, 0.004 | + diff --git a/reports/2026-10-07/fb76dcfd-server3-clickbench-postgresql-smoke.json b/reports/2026-10-07/fb76dcfd-server3-clickbench-postgresql-smoke.json new file mode 100644 index 0000000..b2e77e7 --- /dev/null +++ b/reports/2026-10-07/fb76dcfd-server3-clickbench-postgresql-smoke.json @@ -0,0 +1,782 @@ +{ + "suite": "clickbench-postgresql", + "machine": "server3", + "date": "2026-10-07", + "commit": "fb76dcfd", + "smoke": true, + "note": "smoke run: it shows that the driver works, it is not a baseline", + "engine_name": "postgresql", + "dir": "/root/work/rbdata/clickbench/postgresql", + "settings": { + "BENCH_DOWNLOAD_SCRIPT": "download-hits-tsv", + "BENCH_RESTARTABLE": "yes", + "BENCH_DURABLE": "yes", + "BENCH_TRIES": "3", + "BENCH_QUERIES_FILE": "queries.sql", + "BENCH_CHECK_TIMEOUT": "300", + "BENCH_CONCURRENT_CONNECTIONS": "10", + "BENCH_CONCURRENT_DURATION": "60" + }, + "measure": { + "mode": "server, the cgroup of the server", + "cgroup": "/sys/fs/cgroup/system.slice/system-postgresql.slice/postgresql@19-main.service", + "unit": "postgresql@19-main" + }, + "steps": [ + "load", + "run", + "concurrent" + ], + "kernel": "6.8.0-106-generic", + "load": { + "source": "/root/work/data/hits-smoke.tsv", + "load_time_s": 34.281468044, + "usage": { + "wall_s": 34.281596734, + "cpu_usec": 9238365, + "user_usec": 7487402, + "system_usec": 1750962, + "rbytes": 9695232, + "wbytes": 147116032, + "memory_peak_bytes": 213397504, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 185061376, + "pss_max_bytes": 104433664, + "memory_current_max_bytes": 213135360, + "samples": 244 + } + }, + "engine_version": "19beta4", + "idle_base": { + "wall_s": 10.001305318, + "cpu_usec": 54076, + "user_usec": 15055, + "system_usec": 39020, + "rbytes": 1318912, + "wbytes": 204800, + "memory_peak_bytes": 213397504, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 130445312, + "pss_max_bytes": 47579136, + "memory_current_max_bytes": 143269888, + "samples": 83 + }, + "data_size_bytes": 1664993329, + "concurrent": { + "lib": "/root/work/rbdata/clickbench/postgresql/../lib/benchmark-common.sh", + "qps": 2.733, + "error_ratio": 0, + "usage": { + "wall_s": 68.761292434, + "cpu_usec": 42013047, + "user_usec": 30469096, + "system_usec": 11543950, + "rbytes": 91508736, + "wbytes": 12263424, + "memory_peak_bytes": 256962560, + "memory_peak_scope": "since the cgroup was created", + "file_max_bytes": 205729792, + "pss_max_bytes": 156075008, + "memory_current_max_bytes": 252461056, + "samples": 174 + } + }, + "totals": { + "hot_s": 19.269, + "cold_s": 76.90400000000002, + "failed": 0, + "checked": 0, + "wrong": 0, + "answers_from": null + }, + "results": [ + { + "query": "q0", + "runs_s": [1.368, 0.157, 0.385], + "cold_s": 1.368, + "hot_s": 0.157, + "cold_rbytes": 84328448, + "cold_cpu_usec": 329290, + "hot_cpu_usec": 248672, + "memory_peak_bytes": 140648448, + "pss_max_bytes": 41860096, + "rows": 1, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.368, 0.157, 0.385] + }, + { + "query": "q1", + "runs_s": [1.619, 0.519, 0.553], + "cold_s": 1.619, + "hot_s": 0.519, + "cold_rbytes": 84811776, + "cold_cpu_usec": 432094, + "hot_cpu_usec": 317961, + "memory_peak_bytes": 145272832, + "pss_max_bytes": 41953280, + "rows": 1, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.619, 0.519, 0.553] + }, + { + "query": "q2", + "runs_s": [1.594, 0.3, 0.271], + "cold_s": 1.594, + "hot_s": 0.271, + "cold_rbytes": 84779008, + "cold_cpu_usec": 426262, + "hot_cpu_usec": 363197, + "memory_peak_bytes": 141512704, + "pss_max_bytes": 41368576, + "rows": 1, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.594, 0.3, 0.271] + }, + { + "query": "q3", + "runs_s": [1.507, 0.483, 0.316], + "cold_s": 1.507, + "hot_s": 0.316, + "cold_rbytes": 84705280, + "cold_cpu_usec": 467415, + "hot_cpu_usec": 262107, + "memory_peak_bytes": 146419712, + "pss_max_bytes": 41827328, + "rows": 1, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.507, 0.483, 0.316] + }, + { + "query": "q4", + "runs_s": [1.284, 0.311, 0.813], + "cold_s": 1.284, + "hot_s": 0.311, + "cold_rbytes": 84619264, + "cold_cpu_usec": 352356, + "hot_cpu_usec": 301451, + "memory_peak_bytes": 147148800, + "pss_max_bytes": 44349440, + "rows": 1, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.284, 0.311, 0.813] + }, + { + "query": "q5", + "runs_s": [2.858, 1.526, 0.319], + "cold_s": 2.858, + "hot_s": 0.319, + "cold_rbytes": 84877312, + "cold_cpu_usec": 701623, + "hot_cpu_usec": 568013, + "memory_peak_bytes": 144715776, + "pss_max_bytes": 46117888, + "rows": 1, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [2.858, 1.526, 0.319] + }, + { + "query": "q6", + "runs_s": [1.761, 0.128, 0.592], + "cold_s": 1.761, + "hot_s": 0.128, + "cold_rbytes": 84713472, + "cold_cpu_usec": 347747, + "hot_cpu_usec": 316971, + "memory_peak_bytes": 139812864, + "pss_max_bytes": 43210752, + "rows": 1, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.761, 0.128, 0.592] + }, + { + "query": "q7", + "runs_s": [2.104, 1.027, 0.518], + "cold_s": 2.104, + "hot_s": 0.518, + "cold_rbytes": 85233664, + "cold_cpu_usec": 496695, + "hot_cpu_usec": 295402, + "memory_peak_bytes": 142299136, + "pss_max_bytes": 42521600, + "rows": 3, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [2.104, 1.027, 0.518] + }, + { + "query": "q8", + "runs_s": [3.188, 0.905, 2.065], + "cold_s": 3.188, + "hot_s": 0.905, + "cold_rbytes": 85028864, + "cold_cpu_usec": 671705, + "hot_cpu_usec": 659610, + "memory_peak_bytes": 152051712, + "pss_max_bytes": 46796800, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [3.188, 0.905, 2.065] + }, + { + "query": "q9", + "runs_s": [1.825, 0.643, 0.766], + "cold_s": 1.825, + "hot_s": 0.643, + "cold_rbytes": 85442560, + "cold_cpu_usec": 551982, + "hot_cpu_usec": 534532, + "memory_peak_bytes": 148275200, + "pss_max_bytes": 47372288, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.825, 0.643, 0.766] + }, + { + "query": "q10", + "runs_s": [1.18, 0.295, 0.494], + "cold_s": 1.18, + "hot_s": 0.295, + "cold_rbytes": 85393408, + "cold_cpu_usec": 386834, + "hot_cpu_usec": 353662, + "memory_peak_bytes": 139243520, + "pss_max_bytes": 42803200, + "rows": 6, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.18, 0.295, 0.494] + }, + { + "query": "q11", + "runs_s": [1.631, 0.52, 0.747], + "cold_s": 1.631, + "hot_s": 0.52, + "cold_rbytes": 85180416, + "cold_cpu_usec": 376051, + "hot_cpu_usec": 442250, + "memory_peak_bytes": 146309120, + "pss_max_bytes": 42807296, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.631, 0.52, 0.747] + }, + { + "query": "q12", + "runs_s": [2.785, 0.31, 0.72], + "cold_s": 2.785, + "hot_s": 0.31, + "cold_rbytes": 85180416, + "cold_cpu_usec": 625855, + "hot_cpu_usec": 379765, + "memory_peak_bytes": 144719872, + "pss_max_bytes": 43953152, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [2.785, 0.31, 0.72] + }, + { + "query": "q13", + "runs_s": [1.412, 0.72, 0.206], + "cold_s": 1.412, + "hot_s": 0.206, + "cold_rbytes": 85229568, + "cold_cpu_usec": 425084, + "hot_cpu_usec": 432302, + "memory_peak_bytes": 147427328, + "pss_max_bytes": 43926528, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.412, 0.72, 0.206] + }, + { + "query": "q14", + "runs_s": [1.793, 0.304, 0.156], + "cold_s": 1.793, + "hot_s": 0.156, + "cold_rbytes": 85405696, + "cold_cpu_usec": 533744, + "hot_cpu_usec": 432929, + "memory_peak_bytes": 140337152, + "pss_max_bytes": 42461184, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.793, 0.304, 0.156] + }, + { + "query": "q15", + "runs_s": [1.483, 0.365, 0.619], + "cold_s": 1.483, + "hot_s": 0.365, + "cold_rbytes": 84848640, + "cold_cpu_usec": 434320, + "hot_cpu_usec": 377425, + "memory_peak_bytes": 145170432, + "pss_max_bytes": 42177536, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.483, 0.365, 0.619] + }, + { + "query": "q16", + "runs_s": [1.788, 0.458, 0.754], + "cold_s": 1.788, + "hot_s": 0.458, + "cold_rbytes": 84869120, + "cold_cpu_usec": 600978, + "hot_cpu_usec": 681085, + "memory_peak_bytes": 145698816, + "pss_max_bytes": 42941440, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.788, 0.458, 0.754] + }, + { + "query": "q17", + "runs_s": [1.353, 0.228, 0.616], + "cold_s": 1.353, + "hot_s": 0.228, + "cold_rbytes": 85291008, + "cold_cpu_usec": 503858, + "hot_cpu_usec": 473476, + "memory_peak_bytes": 137826304, + "pss_max_bytes": 42696704, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.353, 0.228, 0.616] + }, + { + "query": "q18", + "runs_s": [1.658, 0.497, 0.349], + "cold_s": 1.658, + "hot_s": 0.349, + "cold_rbytes": 85196800, + "cold_cpu_usec": 701830, + "hot_cpu_usec": 569145, + "memory_peak_bytes": 147865600, + "pss_max_bytes": 45043712, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.658, 0.497, 0.349] + }, + { + "query": "q19", + "runs_s": [1.029, 0.232, 0.356], + "cold_s": 1.029, + "hot_s": 0.232, + "cold_rbytes": 84611072, + "cold_cpu_usec": 431115, + "hot_cpu_usec": 318029, + "memory_peak_bytes": 140750848, + "pss_max_bytes": 40905728, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.029, 0.232, 0.356] + }, + { + "query": "q20", + "runs_s": [1.253, 0.194, 0.244], + "cold_s": 1.253, + "hot_s": 0.194, + "cold_rbytes": 84865024, + "cold_cpu_usec": 613932, + "hot_cpu_usec": 432085, + "memory_peak_bytes": 143314944, + "pss_max_bytes": 40813568, + "rows": 1, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.253, 0.194, 0.244] + }, + { + "query": "q21", + "runs_s": [1.036, 0.489, 0.325], + "cold_s": 1.036, + "hot_s": 0.325, + "cold_rbytes": 85381120, + "cold_cpu_usec": 368168, + "hot_cpu_usec": 422259, + "memory_peak_bytes": 142016512, + "pss_max_bytes": 42260480, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.036, 0.489, 0.325] + }, + { + "query": "q22", + "runs_s": [1.405, 0.836, 0.491], + "cold_s": 1.405, + "hot_s": 0.491, + "cold_rbytes": 85962752, + "cold_cpu_usec": 675811, + "hot_cpu_usec": 843029, + "memory_peak_bytes": 152756224, + "pss_max_bytes": 51625984, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.405, 0.836, 0.491] + }, + { + "query": "q23", + "runs_s": [1.999, 0.591, 0.398], + "cold_s": 1.999, + "hot_s": 0.398, + "cold_rbytes": 84791296, + "cold_cpu_usec": 683937, + "hot_cpu_usec": 463446, + "memory_peak_bytes": 142774272, + "pss_max_bytes": 42245120, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.999, 0.591, 0.398] + }, + { + "query": "q24", + "runs_s": [1.922, 0.261, 0.314], + "cold_s": 1.922, + "hot_s": 0.261, + "cold_rbytes": 84692992, + "cold_cpu_usec": 642734, + "hot_cpu_usec": 338790, + "memory_peak_bytes": 139157504, + "pss_max_bytes": 41833472, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.922, 0.261, 0.314] + }, + { + "query": "q25", + "runs_s": [1.003, 0.276, 0.426], + "cold_s": 1.003, + "hot_s": 0.276, + "cold_rbytes": 84774912, + "cold_cpu_usec": 361193, + "hot_cpu_usec": 352878, + "memory_peak_bytes": 145104896, + "pss_max_bytes": 41755648, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.003, 0.276, 0.426] + }, + { + "query": "q26", + "runs_s": [1.212, 0.478, 0.184], + "cold_s": 1.212, + "hot_s": 0.184, + "cold_rbytes": 84656128, + "cold_cpu_usec": 400230, + "hot_cpu_usec": 333255, + "memory_peak_bytes": 144375808, + "pss_max_bytes": 42241024, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.212, 0.478, 0.184] + }, + { + "query": "q27", + "runs_s": [1.146, 0.421, 0.66], + "cold_s": 1.146, + "hot_s": 0.421, + "cold_rbytes": 85725184, + "cold_cpu_usec": 473950, + "hot_cpu_usec": 664299, + "memory_peak_bytes": 155443200, + "pss_max_bytes": 53170176, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.146, 0.421, 0.66] + }, + { + "query": "q28", + "runs_s": [5.077, 3.522, 3.262], + "cold_s": 5.077, + "hot_s": 3.262, + "cold_rbytes": 85938176, + "cold_cpu_usec": 2261562, + "hot_cpu_usec": 3542510, + "memory_peak_bytes": 142888960, + "pss_max_bytes": 43191296, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [5.077, 3.522, 3.262] + }, + { + "query": "q29", + "runs_s": [1.695, 0.846, 0.797], + "cold_s": 1.695, + "hot_s": 0.797, + "cold_rbytes": 84738048, + "cold_cpu_usec": 831988, + "hot_cpu_usec": 1069527, + "memory_peak_bytes": 153571328, + "pss_max_bytes": 53014528, + "rows": 1, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.695, 0.846, 0.797] + }, + { + "query": "q30", + "runs_s": [1.574, 0.307, 0.256], + "cold_s": 1.574, + "hot_s": 0.256, + "cold_rbytes": 85442560, + "cold_cpu_usec": 533235, + "hot_cpu_usec": 313404, + "memory_peak_bytes": 147054592, + "pss_max_bytes": 43535360, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.574, 0.307, 0.256] + }, + { + "query": "q31", + "runs_s": [2.215, 0.464, 0.278], + "cold_s": 2.215, + "hot_s": 0.278, + "cold_rbytes": 85442560, + "cold_cpu_usec": 584993, + "hot_cpu_usec": 371043, + "memory_peak_bytes": 147861504, + "pss_max_bytes": 44619776, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [2.215, 0.464, 0.278] + }, + { + "query": "q32", + "runs_s": [2.31, 1.019, 1.158], + "cold_s": 2.31, + "hot_s": 1.019, + "cold_rbytes": 85204992, + "cold_cpu_usec": 826917, + "hot_cpu_usec": 1132896, + "memory_peak_bytes": 156643328, + "pss_max_bytes": 50298880, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [2.31, 1.019, 1.158] + }, + { + "query": "q33", + "runs_s": [1.14, 0.367, 0.427], + "cold_s": 1.14, + "hot_s": 0.367, + "cold_rbytes": 84905984, + "cold_cpu_usec": 484697, + "hot_cpu_usec": 513386, + "memory_peak_bytes": 147001344, + "pss_max_bytes": 45036544, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.14, 0.367, 0.427] + }, + { + "query": "q34", + "runs_s": [2.225, 0.409, 0.405], + "cold_s": 2.225, + "hot_s": 0.405, + "cold_rbytes": 85204992, + "cold_cpu_usec": 603054, + "hot_cpu_usec": 519984, + "memory_peak_bytes": 148520960, + "pss_max_bytes": 45734912, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [2.225, 0.409, 0.405] + }, + { + "query": "q35", + "runs_s": [2.207, 0.94, 0.497], + "cold_s": 2.207, + "hot_s": 0.497, + "cold_rbytes": 84905984, + "cold_cpu_usec": 655046, + "hot_cpu_usec": 536422, + "memory_peak_bytes": 144932864, + "pss_max_bytes": 42963968, + "rows": 10, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [2.207, 0.94, 0.497] + }, + { + "query": "q36", + "runs_s": [1.671, 0.502, 0.862], + "cold_s": 1.671, + "hot_s": 0.502, + "cold_rbytes": 85585920, + "cold_cpu_usec": 845675, + "hot_cpu_usec": 502505, + "memory_peak_bytes": 153251840, + "pss_max_bytes": 52759552, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.671, 0.502, 0.862] + }, + { + "query": "q37", + "runs_s": [1.388, 0.556, 0.393], + "cold_s": 1.388, + "hot_s": 0.393, + "cold_rbytes": 85614592, + "cold_cpu_usec": 517520, + "hot_cpu_usec": 560496, + "memory_peak_bytes": 157241344, + "pss_max_bytes": 52308992, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.388, 0.556, 0.393] + }, + { + "query": "q38", + "runs_s": [1.606, 0.422, 0.394], + "cold_s": 1.606, + "hot_s": 0.394, + "cold_rbytes": 85778432, + "cold_cpu_usec": 604902, + "hot_cpu_usec": 588632, + "memory_peak_bytes": 157708288, + "pss_max_bytes": 50183168, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.606, 0.422, 0.394] + }, + { + "query": "q39", + "runs_s": [2.798, 0.827, 0.407], + "cold_s": 2.798, + "hot_s": 0.407, + "cold_rbytes": 85626880, + "cold_cpu_usec": 552960, + "hot_cpu_usec": 603855, + "memory_peak_bytes": 157827072, + "pss_max_bytes": 50567168, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [2.798, 0.827, 0.407] + }, + { + "query": "q40", + "runs_s": [1.734, 0.346, 0.469], + "cold_s": 1.734, + "hot_s": 0.346, + "cold_rbytes": 85692416, + "cold_cpu_usec": 643552, + "hot_cpu_usec": 678167, + "memory_peak_bytes": 153382912, + "pss_max_bytes": 52759552, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.734, 0.346, 0.469] + }, + { + "query": "q41", + "runs_s": [1.781, 0.658, 0.384], + "cold_s": 1.781, + "hot_s": 0.384, + "cold_rbytes": 85340160, + "cold_cpu_usec": 656224, + "hot_cpu_usec": 579362, + "memory_peak_bytes": 157933568, + "pss_max_bytes": 52618240, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.781, 0.658, 0.384] + }, + { + "query": "q42", + "runs_s": [1.287, 0.206, 0.242], + "cold_s": 1.287, + "hot_s": 0.206, + "cold_rbytes": 85286912, + "cold_cpu_usec": 536175, + "hot_cpu_usec": 499020, + "memory_peak_bytes": 151982080, + "pss_max_bytes": 52610048, + "rows": 0, + "answer": "not checked", + "answer_rule": null, + "error": null, + "tries_s": [1.287, 0.206, 0.242] + } + ] +} diff --git a/reports/2026-10-07/fb76dcfd-server3-clickbench-postgresql-smoke.md b/reports/2026-10-07/fb76dcfd-server3-clickbench-postgresql-smoke.md new file mode 100644 index 0000000..09158ba --- /dev/null +++ b/reports/2026-10-07/fb76dcfd-server3-clickbench-postgresql-smoke.md @@ -0,0 +1,155 @@ +# clickbench-postgresql on server3, 2026-10-07 + +**This is a smoke run.** It shows that the driver works. It ran on a small scale or on a shared machine, so its numbers are not baselines and no claim may use them. + +| Field | Value | +|---|---| +| suite | clickbench-postgresql | +| machine | server3 | +| date | 2026-10-07 | +| commit | fb76dcfd | +| smoke | true | +| note | smoke run: it shows that the driver works, it is not a baseline | +| engine_name | postgresql | +| dir | /root/work/rbdata/clickbench/postgresql | +| steps | load, run, concurrent | +| kernel | 6.8.0-106-generic | +| engine_version | 19beta4 | +| data_size_bytes | 1664993329 | + +## settings + +| Field | Value | +|---|---| +| BENCH_DOWNLOAD_SCRIPT | download-hits-tsv | +| BENCH_RESTARTABLE | yes | +| BENCH_DURABLE | yes | +| BENCH_TRIES | 3 | +| BENCH_QUERIES_FILE | queries.sql | +| BENCH_CHECK_TIMEOUT | 300 | +| BENCH_CONCURRENT_CONNECTIONS | 10 | +| BENCH_CONCURRENT_DURATION | 60 | + +## measure + +| Field | Value | +|---|---| +| mode | server, the cgroup of the server | +| cgroup | /sys/fs/cgroup/system.slice/system-postgresql.slice/postgresql@19-main.service | +| unit | postgresql@19-main | + +## load + +| Field | Value | +|---|---| +| source | /root/work/data/hits-smoke.tsv | +| load_time_s | 34.281468 | +| usage.wall_s | 34.281597 | +| usage.cpu_usec | 9238365 | +| usage.user_usec | 7487402 | +| usage.system_usec | 1750962 | +| usage.rbytes | 9695232 | +| usage.wbytes | 147116032 | +| usage.memory_peak_bytes | 213397504 | +| usage.memory_peak_scope | since the cgroup was created | +| usage.file_max_bytes | 185061376 | +| usage.pss_max_bytes | 104433664 | +| usage.memory_current_max_bytes | 213135360 | +| usage.samples | 244 | + +## idle_base + +| Field | Value | +|---|---| +| wall_s | 10.001305 | +| cpu_usec | 54076 | +| user_usec | 15055 | +| system_usec | 39020 | +| rbytes | 1318912 | +| wbytes | 204800 | +| memory_peak_bytes | 213397504 | +| memory_peak_scope | since the cgroup was created | +| file_max_bytes | 130445312 | +| pss_max_bytes | 47579136 | +| memory_current_max_bytes | 143269888 | +| samples | 83 | + +## concurrent + +| Field | Value | +|---|---| +| lib | /root/work/rbdata/clickbench/postgresql/../lib/benchmark-common.sh | +| qps | 2.733 | +| error_ratio | 0 | +| usage.wall_s | 68.761292 | +| usage.cpu_usec | 42013047 | +| usage.user_usec | 30469096 | +| usage.system_usec | 11543950 | +| usage.rbytes | 91508736 | +| usage.wbytes | 12263424 | +| usage.memory_peak_bytes | 256962560 | +| usage.memory_peak_scope | since the cgroup was created | +| usage.file_max_bytes | 205729792 | +| usage.pss_max_bytes | 156075008 | +| usage.memory_current_max_bytes | 252461056 | +| usage.samples | 174 | + +## totals + +| Field | Value | +|---|---| +| hot_s | 19.269 | +| cold_s | 76.904 | +| failed | 0 | +| checked | 0 | +| wrong | 0 | +| answers_from | null | + +## results + +| query | runs_s | cold_s | hot_s | cold_rbytes | cold_cpu_usec | hot_cpu_usec | memory_peak_bytes | pss_max_bytes | rows | answer | answer_rule | error | tries_s | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| q0 | 1.368, 0.157, 0.385 | 1.368 | 0.157 | 84328448 | 329290 | 248672 | 140648448 | 41860096 | 1 | not checked | null | null | 1.368, 0.157, 0.385 | +| q1 | 1.619, 0.519, 0.553 | 1.619 | 0.519 | 84811776 | 432094 | 317961 | 145272832 | 41953280 | 1 | not checked | null | null | 1.619, 0.519, 0.553 | +| q2 | 1.594, 0.3, 0.271 | 1.594 | 0.271 | 84779008 | 426262 | 363197 | 141512704 | 41368576 | 1 | not checked | null | null | 1.594, 0.3, 0.271 | +| q3 | 1.507, 0.483, 0.316 | 1.507 | 0.316 | 84705280 | 467415 | 262107 | 146419712 | 41827328 | 1 | not checked | null | null | 1.507, 0.483, 0.316 | +| q4 | 1.284, 0.311, 0.813 | 1.284 | 0.311 | 84619264 | 352356 | 301451 | 147148800 | 44349440 | 1 | not checked | null | null | 1.284, 0.311, 0.813 | +| q5 | 2.858, 1.526, 0.319 | 2.858 | 0.319 | 84877312 | 701623 | 568013 | 144715776 | 46117888 | 1 | not checked | null | null | 2.858, 1.526, 0.319 | +| q6 | 1.761, 0.128, 0.592 | 1.761 | 0.128 | 84713472 | 347747 | 316971 | 139812864 | 43210752 | 1 | not checked | null | null | 1.761, 0.128, 0.592 | +| q7 | 2.104, 1.027, 0.518 | 2.104 | 0.518 | 85233664 | 496695 | 295402 | 142299136 | 42521600 | 3 | not checked | null | null | 2.104, 1.027, 0.518 | +| q8 | 3.188, 0.905, 2.065 | 3.188 | 0.905 | 85028864 | 671705 | 659610 | 152051712 | 46796800 | 10 | not checked | null | null | 3.188, 0.905, 2.065 | +| q9 | 1.825, 0.643, 0.766 | 1.825 | 0.643 | 85442560 | 551982 | 534532 | 148275200 | 47372288 | 10 | not checked | null | null | 1.825, 0.643, 0.766 | +| q10 | 1.18, 0.295, 0.494 | 1.18 | 0.295 | 85393408 | 386834 | 353662 | 139243520 | 42803200 | 6 | not checked | null | null | 1.18, 0.295, 0.494 | +| q11 | 1.631, 0.52, 0.747 | 1.631 | 0.52 | 85180416 | 376051 | 442250 | 146309120 | 42807296 | 10 | not checked | null | null | 1.631, 0.52, 0.747 | +| q12 | 2.785, 0.31, 0.72 | 2.785 | 0.31 | 85180416 | 625855 | 379765 | 144719872 | 43953152 | 10 | not checked | null | null | 2.785, 0.31, 0.72 | +| q13 | 1.412, 0.72, 0.206 | 1.412 | 0.206 | 85229568 | 425084 | 432302 | 147427328 | 43926528 | 10 | not checked | null | null | 1.412, 0.72, 0.206 | +| q14 | 1.793, 0.304, 0.156 | 1.793 | 0.156 | 85405696 | 533744 | 432929 | 140337152 | 42461184 | 10 | not checked | null | null | 1.793, 0.304, 0.156 | +| q15 | 1.483, 0.365, 0.619 | 1.483 | 0.365 | 84848640 | 434320 | 377425 | 145170432 | 42177536 | 10 | not checked | null | null | 1.483, 0.365, 0.619 | +| q16 | 1.788, 0.458, 0.754 | 1.788 | 0.458 | 84869120 | 600978 | 681085 | 145698816 | 42941440 | 10 | not checked | null | null | 1.788, 0.458, 0.754 | +| q17 | 1.353, 0.228, 0.616 | 1.353 | 0.228 | 85291008 | 503858 | 473476 | 137826304 | 42696704 | 10 | not checked | null | null | 1.353, 0.228, 0.616 | +| q18 | 1.658, 0.497, 0.349 | 1.658 | 0.349 | 85196800 | 701830 | 569145 | 147865600 | 45043712 | 10 | not checked | null | null | 1.658, 0.497, 0.349 | +| q19 | 1.029, 0.232, 0.356 | 1.029 | 0.232 | 84611072 | 431115 | 318029 | 140750848 | 40905728 | 0 | not checked | null | null | 1.029, 0.232, 0.356 | +| q20 | 1.253, 0.194, 0.244 | 1.253 | 0.194 | 84865024 | 613932 | 432085 | 143314944 | 40813568 | 1 | not checked | null | null | 1.253, 0.194, 0.244 | +| q21 | 1.036, 0.489, 0.325 | 1.036 | 0.325 | 85381120 | 368168 | 422259 | 142016512 | 42260480 | 0 | not checked | null | null | 1.036, 0.489, 0.325 | +| q22 | 1.405, 0.836, 0.491 | 1.405 | 0.491 | 85962752 | 675811 | 843029 | 152756224 | 51625984 | 10 | not checked | null | null | 1.405, 0.836, 0.491 | +| q23 | 1.999, 0.591, 0.398 | 1.999 | 0.398 | 84791296 | 683937 | 463446 | 142774272 | 42245120 | 0 | not checked | null | null | 1.999, 0.591, 0.398 | +| q24 | 1.922, 0.261, 0.314 | 1.922 | 0.261 | 84692992 | 642734 | 338790 | 139157504 | 41833472 | 10 | not checked | null | null | 1.922, 0.261, 0.314 | +| q25 | 1.003, 0.276, 0.426 | 1.003 | 0.276 | 84774912 | 361193 | 352878 | 145104896 | 41755648 | 10 | not checked | null | null | 1.003, 0.276, 0.426 | +| q26 | 1.212, 0.478, 0.184 | 1.212 | 0.184 | 84656128 | 400230 | 333255 | 144375808 | 42241024 | 10 | not checked | null | null | 1.212, 0.478, 0.184 | +| q27 | 1.146, 0.421, 0.66 | 1.146 | 0.421 | 85725184 | 473950 | 664299 | 155443200 | 53170176 | 0 | not checked | null | null | 1.146, 0.421, 0.66 | +| q28 | 5.077, 3.522, 3.262 | 5.077 | 3.262 | 85938176 | 2261562 | 3542510 | 142888960 | 43191296 | 0 | not checked | null | null | 5.077, 3.522, 3.262 | +| q29 | 1.695, 0.846, 0.797 | 1.695 | 0.797 | 84738048 | 831988 | 1069527 | 153571328 | 53014528 | 1 | not checked | null | null | 1.695, 0.846, 0.797 | +| q30 | 1.574, 0.307, 0.256 | 1.574 | 0.256 | 85442560 | 533235 | 313404 | 147054592 | 43535360 | 10 | not checked | null | null | 1.574, 0.307, 0.256 | +| q31 | 2.215, 0.464, 0.278 | 2.215 | 0.278 | 85442560 | 584993 | 371043 | 147861504 | 44619776 | 10 | not checked | null | null | 2.215, 0.464, 0.278 | +| q32 | 2.31, 1.019, 1.158 | 2.31 | 1.019 | 85204992 | 826917 | 1132896 | 156643328 | 50298880 | 10 | not checked | null | null | 2.31, 1.019, 1.158 | +| q33 | 1.14, 0.367, 0.427 | 1.14 | 0.367 | 84905984 | 484697 | 513386 | 147001344 | 45036544 | 10 | not checked | null | null | 1.14, 0.367, 0.427 | +| q34 | 2.225, 0.409, 0.405 | 2.225 | 0.405 | 85204992 | 603054 | 519984 | 148520960 | 45734912 | 10 | not checked | null | null | 2.225, 0.409, 0.405 | +| q35 | 2.207, 0.94, 0.497 | 2.207 | 0.497 | 84905984 | 655046 | 536422 | 144932864 | 42963968 | 10 | not checked | null | null | 2.207, 0.94, 0.497 | +| q36 | 1.671, 0.502, 0.862 | 1.671 | 0.502 | 85585920 | 845675 | 502505 | 153251840 | 52759552 | 0 | not checked | null | null | 1.671, 0.502, 0.862 | +| q37 | 1.388, 0.556, 0.393 | 1.388 | 0.393 | 85614592 | 517520 | 560496 | 157241344 | 52308992 | 0 | not checked | null | null | 1.388, 0.556, 0.393 | +| q38 | 1.606, 0.422, 0.394 | 1.606 | 0.394 | 85778432 | 604902 | 588632 | 157708288 | 50183168 | 0 | not checked | null | null | 1.606, 0.422, 0.394 | +| q39 | 2.798, 0.827, 0.407 | 2.798 | 0.407 | 85626880 | 552960 | 603855 | 157827072 | 50567168 | 0 | not checked | null | null | 2.798, 0.827, 0.407 | +| q40 | 1.734, 0.346, 0.469 | 1.734 | 0.346 | 85692416 | 643552 | 678167 | 153382912 | 52759552 | 0 | not checked | null | null | 1.734, 0.346, 0.469 | +| q41 | 1.781, 0.658, 0.384 | 1.781 | 0.384 | 85340160 | 656224 | 579362 | 157933568 | 52618240 | 0 | not checked | null | null | 1.781, 0.658, 0.384 | +| q42 | 1.287, 0.206, 0.242 | 1.287 | 0.206 | 85286912 | 536175 | 499020 | 151982080 | 52610048 | 0 | not checked | null | null | 1.287, 0.206, 0.242 | +