-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathreadme.txt
42 lines (32 loc) · 1.43 KB
/
readme.txt
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
Simple scripts to run TPC-H benchmarks on PostgreSQL.
Largely based on
https://github.com/2ndQuadrant/pg-tpch
How to use it:
In short,
git clone https://github.com/arssher/pgtpch.git
cd pgtpch
cp pgtpch.conf.example pgtpch.conf # configure setup here
cp postgresql.conf.example postgresql.conf # set Postgres options, if you want
cp runconf.json.example runconf.json # congifure runs here
./prepare.sh
./run.py
Scripts use the following tee commands, it is recommended to setup sudoers to
run them without password prompt:
* echo never | sudo tee /sys/kernel/mm/transparent_hugepage/defrag
* echo 3 | sudo tee /proc/sys/vm/drop_caches
First disables transparent huge pages, second drops kernel fs caches.
And even more commands, if you use perf:
* echo 0 | sudo tee /proc/sys/kernel/kptr_restrict
* sudo perf record
* sudo kill -2 'perf record pid'
* sudo perf script
Each script has "./script -h" help
prepare.sh creates database cluster with database containing TPC-H data and
generates the queries folder inside cluster directory.
gen_queries.h generates the 'queries' dir with TPC-H queries in the current
directory.
run.sh runs the queries. It is kind of deprecated, run.py should be used instead.
run.py tests multiple configurations. See its help and pgtpch.conf.example
for details. Usually I run it like
nohup ./run.py > logs/`date "+%Y-%m-%d-%H-%M"`.out &
Tested only on GNU/Linux, Ubuntu 14.04 and OpenSuse 42.2