Skip to content

Commit f9b93e3

Browse files
authored
Merge pull request #3 from alexanderlaw/main
Add the sysbench benchmark
2 parents ca0a4e1 + c0a57c8 commit f9b93e3

6 files changed

+29
-5
lines changed

Diff for: Dockerfile-pgapt

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ RUN p=$EXTRA_OS_PACKAGES; p="${p%\"}";p="${p#\"}"; \
1717
apt update && apt install -y $p python3 python3-dev python3-pip \
1818
software-properties-common wget vim time pkg-config locales recode \
1919
git gcc make libreadline-dev zlib1g-dev libicu-dev bison flex gettext \
20-
openjdk-17-jdk maven
20+
openjdk-17-jdk maven sysbench
2121

2222
RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8
2323
ENV LANG en_US.UTF-8

Diff for: Dockerfile-proapt

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ RUN p=$EXTRA_OS_PACKAGES; p="${p%\"}";p="${p#\"}"; \
1919
apt update && apt install -y $p python3 python3-dev python3-pip \
2020
software-properties-common wget vim time pkg-config locales recode \
2121
git gcc make libreadline-dev zlib1g-dev libicu-dev bison flex gettext \
22-
openjdk-17-jdk maven
22+
openjdk-17-jdk maven sysbench
2323

2424
RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8
2525
ENV LANG en_US.UTF-8

Diff for: Dockerfile-src

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ RUN p=$EXTRA_OS_PACKAGES; p="${p%\"}";p="${p#\"}"; \
1818
apt update && apt install -y $p python3 python3-dev python3-pip \
1919
software-properties-common wget vim time pkg-config locales recode \
2020
git gcc make libreadline-dev zlib1g-dev libicu-dev bison flex gettext \
21-
openjdk-17-jdk maven
21+
openjdk-17-jdk maven sysbench
2222

2323
RUN locale-gen en_US.UTF-8 && update-locale LANG=en_US.UTF-8
2424
ENV LANG en_US.UTF-8

Diff for: README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ Or
8484
4) You can also compare benchmark results for several instances in an
8585
automated non-visual way. Run
8686

87-
./analyze-benchmarks.py -i 'intance-1-pattern' 'intance-2-pattern'
87+
./analyze-benchmarks.py -i 'instance-1-pattern' 'instance-2-pattern'
8888

8989
For example, to compare results of benchmarking instances shown above, run:
9090

Diff for: analyze-benchmarks.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ def main(instances, resultsfile, percent, targetmetric, targetvalue):
7575
metrics[metric_id][ipat] = []
7676
value = float(metric.get('value'))
7777
if metric_id.startswith(('tps', 'tpm', 'xacts')) or \
78-
metric_id.endswith(('_ops', '_rps')):
78+
metric_id.endswith(('_tps', '_ops', '_rps')):
7979
value = -value
8080
metrics[metric_id][ipat].append(value)
8181
if not inst_ipat:

Diff for: config.xml

+24
Original file line numberDiff line numberDiff line change
@@ -389,6 +389,30 @@ done
389389
</results>
390390
</benchmark>
391391

392+
<benchmark id="sysbench">
393+
<prepare>
394+
<![CDATA[
395+
createuser sbtest && createdb sbtest --owner=sbtest >results/prepare.log 2>&1
396+
]]>
397+
</prepare>
398+
<execute>
399+
<![CDATA[
400+
(for t in /usr/share/sysbench/*.lua; do
401+
tn=\$(basename \$t .lua);
402+
[[ "\$tn" == oltp_common ]] && continue;
403+
sysbench --db-driver=pgsql --threads=10 --table_size=100000 \$tn prepare &&
404+
sysbench --db-driver=pgsql --threads=10 --table_size=100000 --time=60 \$tn run | sed -e "s/^/\$tn: /" &&
405+
sysbench --db-driver=pgsql --threads=10 \$tn cleanup;
406+
done
407+
) >results/run.log 2>&1; cat results/run.log
408+
]]>
409+
</execute>
410+
<results>
411+
<metricset id="load_$1_tps" regexp="^([a-z_]+):\s+transactions:\s+[0-9.]+\s+\(([0-9.]+) per sec\.\)" />
412+
<metricset id="load_$1_ops" regexp="^([a-z_]+):\s+queries:\s+[0-9.]+\s+\(([0-9.]+) per sec\.\)" />
413+
</results>
414+
</benchmark>
415+
392416
<benchmark id="insert-1m">
393417
<execute>
394418
<![CDATA[

0 commit comments

Comments
 (0)