-
Notifications
You must be signed in to change notification settings - Fork 1
/
pgtpch.conf.example
131 lines (101 loc) · 4.57 KB
/
pgtpch.conf.example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# Config format is 'key = value'
# Lines starting with '#' are comments
#-----------------------------
# Basic section. All params here are required.
#-----------------------------
# Scale, real number passed to dbgen. Roughly equivalent to GBs of data.
scale = 25
# Installation directory of postgres. pgdatadir/bin must contain the binaries such
# as pg_ctl
pginstdir = /home/ars/postgres/install/vanilla
# 'Data' directory of postgres
pgdatadir = /mnt/pgsql/data/devel-4dd3abe99f-typed/pgsql-data-25
# Port where Postgres will listen
pgport = 5442
# Name of table with TPC-H data
tpchdbname = tpch
#-----------------------------
# run section
#-----------------------------
# Type of runner. Valid values are 'standard' and 'perfer'.
# 'standard' runner:
# Runs queries, measuring the execution time.
# It runs each query <warmup> times without recording the answer and one more
# saving it. The results for each query will be in directory
# ./res/<datetime of run.py start><testname>-<query>-<scale>, old dir will be
# removed if exists.
# Directory will contain the following files:
# * log.txt with log for this query;
# * exectimes.txt with execution times in secs; first <warmup> lines are
# warmup times, the last one is the run time with answer output;
# * answer.json with computed answer;
# * <query>.sql with used query;
# We restart postgres (and copy <pgdatadir>, see <copydir> option below) once
# for each query; for each query we use only one connection to execute all
# warmups and answer-writing query.
# 'perfer' runner:
# Like 'standard', but also analyzes each query with perf.
# The results for each query will be in directory
# ./perf_res/<testname>-<query>-<scale>, old dirs will be removed if exists.
# In addition to 'standard' files, this dir will contain the following files:
# * perf_record_log.txt with logs of perf record
# * perf-x.data with perf data, where x is number of run
# * probably fg_log.txt with flamegraph logs, see below
# * probably <query>-<numrun>.svg with flamegraphs
# This is required parameter.
# runner = perfer
runner = perfer
# Common for all runners options
# If specified, <pgdatadir> directory must be copied here before run,
# and removed after run. This allows to keep the original directory clean.
copydir = /mnt/ramdisk/ars
# This allows to add additional setting to postgresql.conf in copied directory
# The whole file extconffile will be appended to the actual postgresql.conf
# File path must be relative to the project root.
# Works only if copydir is not empty
# extconffile = ext.conf
# Queries to run. Possible values are 'all' meaning all TPC-H queries or list of
# names, e.g. 'q01 ss hj'
# Queries are searched in 'queries' dir inside <pgdatadir> first.
# For example, for q01 specified here file <pgdatadir>/queries/q01.sql
# will be taken. If not found, it will be searched in 'queries' dir inside root
# of the project.
# This is required parameter.
queries = q01 q02
# Possibility to run some commands before executing the queries. The
# whole file precmdfile will be read and executed before the actual queries.
# File path must be relative to this project root.
# 'exectime' file doesn't include time to execute precmdfile.
precmdfile = precmd.sql
# User to access the database. By default `whoami`
# pguser = zhroma
# Each query is run warmups times first without recording the answer, and then
# one time recording it. 'warmups' is actually bad name, should be renamed to
# 'numruns'
# This is required parameter.
warmups = 15
# 'perfer' runner specific options
# The only perf record opts we specify automatically is -p to attach to proper
# backend process and -o with output filename. Set the rest here. Spaces in
# options are not allowed.
perfrecopts = -c 3600000 -e task-clock:ppp --call-graph dwarf
# Generate svg with flamegraph for each perf.data file. Put it to
# <query>-<runnum>.svg file. fg_path must be set, if you use this; -g or
# --call-graph must be among perfrecopts.
# 'true' is true, everything else is false
flamegraph = true
fg_path = /home/ars/FlameGraph
# remove perf data after generating flamegraphs
rmperfdata = true
# 'timerruns' runner specific options. Not implemented yet.
# Number of timer runs after normal run to record timer stats
timerruns = 0
#--------------------
# prepare section. All params are required here.
#--------------------
# *.tbl files generated by dbgen will be put to this directory; it will be
# removed when populating tables is done
tpchtmp = /tmp/tpchtmp
# Path to directory with 'dbgen' and 'qgen' programs, absolute or relative to
# the root of the project
dbgenpath = dbgens/dbgen-typed