2015-08-13 13:46:38 +02:00
|
|
|
command_type: system
|
2015-06-05 23:41:48 +02:00
|
|
|
stepback: false
|
|
|
|
|
|
|
|
pre:
|
|
|
|
- command: shell.track
|
|
|
|
|
|
|
|
post:
|
2015-09-14 03:33:21 +02:00
|
|
|
- command: attach.results
|
|
|
|
params:
|
|
|
|
file_location: src/report.json
|
2015-06-05 23:41:48 +02:00
|
|
|
- command: shell.cleanup
|
|
|
|
|
|
|
|
functions:
|
2015-06-18 01:09:59 +02:00
|
|
|
"start server":
|
2015-06-05 23:41:48 +02:00
|
|
|
- command: shell.exec
|
|
|
|
params:
|
|
|
|
script: |
|
|
|
|
rm -rf ./*
|
|
|
|
mkdir src
|
|
|
|
- command: s3.get
|
|
|
|
params:
|
|
|
|
aws_key: ${aws_key}
|
|
|
|
aws_secret: ${aws_secret}
|
|
|
|
remote_file: perf/${build_variant}/${revision}/mongod-${build_id}
|
|
|
|
bucket: mciuploads
|
|
|
|
local_file: src/mongod
|
|
|
|
- command: s3.get
|
|
|
|
params:
|
|
|
|
aws_key: ${aws_key}
|
|
|
|
aws_secret: ${aws_secret}
|
|
|
|
remote_file: perf/${build_variant}/${revision}/mongo-${build_id}
|
|
|
|
bucket: mciuploads
|
|
|
|
local_file: src/mongo
|
|
|
|
- command: shell.exec
|
|
|
|
params:
|
|
|
|
working_dir: src
|
|
|
|
script: |
|
|
|
|
set -e
|
|
|
|
set -v
|
|
|
|
chmod +x mongod
|
|
|
|
chmod +x mongo
|
|
|
|
git clone https://github.com/mongodb/mongo-perf perf
|
|
|
|
cd perf
|
2015-08-10 21:57:22 +02:00
|
|
|
git checkout r20150814
|
2015-06-05 23:41:48 +02:00
|
|
|
- command: shell.exec
|
|
|
|
params:
|
|
|
|
background: true
|
|
|
|
working_dir: src
|
|
|
|
script: |
|
|
|
|
set -e
|
|
|
|
set -o verbose
|
|
|
|
mkdir -p ./dbdata
|
2015-06-18 01:20:02 +02:00
|
|
|
${mongod_exec_wrapper} ./mongod --dbpath ./dbdata ${mongod_flags}
|
2015-06-18 01:09:59 +02:00
|
|
|
sleep 5
|
|
|
|
# if we started a replset, initiate it and wait for it to become primary
|
|
|
|
./mongo --eval "if(db.isMaster().isreplicaset){rs.initiate(); assert.soon(function(){return db.isMaster().ismaster}, 'no primary')}"
|
2015-06-05 23:41:48 +02:00
|
|
|
echo "MONGOD STARTED."
|
2015-08-13 13:46:38 +02:00
|
|
|
"analyze":
|
|
|
|
- command: s3.get
|
|
|
|
params:
|
|
|
|
aws_key: ${aws_key}
|
|
|
|
aws_secret: ${aws_secret}
|
|
|
|
remote_file: perf/${build_variant}/${revision}/perf_regression_check.py-${build_id}
|
|
|
|
bucket: mciuploads
|
|
|
|
local_file: src/perf_regression_check.py
|
|
|
|
- command: shell.exec
|
|
|
|
params:
|
|
|
|
working_dir: src
|
|
|
|
script: |
|
|
|
|
set -e
|
|
|
|
set -v
|
|
|
|
virtualenv ./venv
|
|
|
|
source ./venv/bin/activate
|
|
|
|
pip install argparse python-dateutil
|
|
|
|
- command: json.get_history
|
|
|
|
params:
|
|
|
|
task: ${task_name}
|
|
|
|
file: "src/history.json"
|
|
|
|
name: "perf"
|
2015-09-09 21:11:31 +02:00
|
|
|
- command: json.get_history
|
|
|
|
params:
|
|
|
|
tags: true
|
|
|
|
task: ${task_name}
|
|
|
|
file: "src/tags.json"
|
|
|
|
name: "perf"
|
2015-08-13 13:46:38 +02:00
|
|
|
- command: shell.exec
|
|
|
|
type : test
|
|
|
|
params:
|
|
|
|
working_dir: src
|
|
|
|
script: |
|
|
|
|
set -o errexit
|
|
|
|
set -o verbose
|
|
|
|
source ./venv/bin/activate
|
2015-09-09 21:11:31 +02:00
|
|
|
python perf_regression_check.py -f history.json --rev ${revision} -t tags.json --refTag 3.0.6-Baseline
|
2015-06-05 23:41:48 +02:00
|
|
|
"run perf tests":
|
2015-06-09 22:32:13 +02:00
|
|
|
- command: shell.exec
|
|
|
|
params:
|
|
|
|
working_dir: src
|
|
|
|
script: |
|
|
|
|
set -e
|
|
|
|
set -v
|
|
|
|
virtualenv ./venv
|
|
|
|
source ./venv/bin/activate
|
|
|
|
pip install argparse
|
2015-06-05 23:41:48 +02:00
|
|
|
- command: shell.exec
|
|
|
|
params:
|
|
|
|
working_dir: src
|
|
|
|
script: |
|
2015-09-10 22:24:07 +02:00
|
|
|
set -e
|
2015-06-05 23:41:48 +02:00
|
|
|
set -v
|
2015-06-09 22:32:13 +02:00
|
|
|
source ./venv/bin/activate
|
2015-06-05 23:41:48 +02:00
|
|
|
cd perf
|
|
|
|
# give mongod a few seconds to start up so that we can connect.
|
|
|
|
sleep 5
|
2015-07-08 19:42:03 +02:00
|
|
|
${perf_exec_wrapper} python benchrun.py --shell ../mongo -t ${threads} --trialCount 5 -f testcases/*.js --includeFilter ${includeFilter1} --includeFilter ${includeFilter2} --excludeFilter ${excludeFilter} --out perf.json --exclude-testbed
|
2015-06-05 23:41:48 +02:00
|
|
|
- command: "json.send"
|
|
|
|
params:
|
|
|
|
name: "perf"
|
|
|
|
file: "src/perf/perf.json"
|
|
|
|
|
|
|
|
tasks:
|
|
|
|
- name: compile
|
|
|
|
commands:
|
|
|
|
- command: git.get_project
|
|
|
|
params:
|
|
|
|
directory: src
|
|
|
|
- command: git.apply_patch
|
|
|
|
params:
|
|
|
|
directory: src
|
|
|
|
- command: shell.exec
|
|
|
|
params:
|
|
|
|
working_dir: src
|
|
|
|
script: |
|
|
|
|
set -o errexit
|
|
|
|
set -o verbose
|
|
|
|
${scons|scons} ${compile_flags|} mongo
|
|
|
|
${scons|scons} ${compile_flags|} mongod
|
|
|
|
- command: s3.put
|
|
|
|
params:
|
|
|
|
aws_key: ${aws_key}
|
|
|
|
aws_secret: ${aws_secret}
|
|
|
|
local_file: src/mongod
|
|
|
|
remote_file: perf/${build_variant}/${revision}/mongod-${build_id}
|
|
|
|
bucket: mciuploads
|
|
|
|
permissions: public-read
|
|
|
|
content_type: ${content_type|application/octet-stream}
|
|
|
|
display_name: mongod
|
|
|
|
- command: s3.put
|
|
|
|
params:
|
|
|
|
aws_key: ${aws_key}
|
|
|
|
aws_secret: ${aws_secret}
|
|
|
|
local_file: src/mongo
|
|
|
|
remote_file: perf/${build_variant}/${revision}/mongo-${build_id}
|
|
|
|
bucket: mciuploads
|
|
|
|
permissions: public-read
|
|
|
|
content_type: ${content_type|application/octet-stream}
|
|
|
|
display_name: mongo
|
2015-08-13 13:46:38 +02:00
|
|
|
- command: s3.put
|
|
|
|
params:
|
|
|
|
aws_key: ${aws_key}
|
|
|
|
aws_secret: ${aws_secret}
|
|
|
|
local_file: src/buildscripts/perf_regression_check.py
|
|
|
|
remote_file: perf/${build_variant}/${revision}/perf_regression_check.py-${build_id}
|
|
|
|
bucket: mciuploads
|
|
|
|
permissions: public-read
|
|
|
|
content_type: ${content_type|application/octet-stream}
|
|
|
|
display_name: perf_regression_check.py
|
2015-06-05 23:41:48 +02:00
|
|
|
|
|
|
|
- name: query
|
|
|
|
depends_on:
|
|
|
|
- name: compile
|
|
|
|
commands:
|
2015-06-18 01:09:59 +02:00
|
|
|
- func: "start server"
|
2015-06-05 23:41:48 +02:00
|
|
|
- func: "run perf tests"
|
|
|
|
vars:
|
2015-06-30 17:20:39 +02:00
|
|
|
includeFilter1: "query"
|
|
|
|
includeFilter2 : "core regression"
|
|
|
|
excludeFilter : "single_threaded"
|
|
|
|
threads : "1 2 4 8"
|
2015-08-13 13:46:38 +02:00
|
|
|
- func: "analyze"
|
2015-08-10 21:57:22 +02:00
|
|
|
- name: where
|
|
|
|
depends_on:
|
|
|
|
- name: compile
|
|
|
|
commands:
|
|
|
|
- func: "start server"
|
|
|
|
- func: "run perf tests"
|
|
|
|
vars:
|
|
|
|
includeFilter1: "where"
|
|
|
|
includeFilter2 : "core regression"
|
|
|
|
excludeFilter : "single_threaded"
|
|
|
|
threads : "1 2 4 8"
|
|
|
|
- func: "analyze"
|
2015-06-05 23:41:48 +02:00
|
|
|
- name: update
|
|
|
|
depends_on:
|
|
|
|
- name: compile
|
|
|
|
commands:
|
2015-06-18 01:09:59 +02:00
|
|
|
- func: "start server"
|
2015-06-05 23:41:48 +02:00
|
|
|
- func: "run perf tests"
|
|
|
|
vars:
|
2015-06-30 17:20:39 +02:00
|
|
|
includeFilter1: "update"
|
|
|
|
includeFilter2 : "core regression"
|
|
|
|
excludeFilter : "single_threaded"
|
|
|
|
threads : "1 2 4 8"
|
2015-08-13 13:46:38 +02:00
|
|
|
- func: "analyze"
|
2015-06-05 23:41:48 +02:00
|
|
|
- name: insert
|
|
|
|
depends_on:
|
|
|
|
- name: compile
|
|
|
|
commands:
|
2015-06-18 01:09:59 +02:00
|
|
|
- func: "start server"
|
2015-06-05 23:41:48 +02:00
|
|
|
- func: "run perf tests"
|
|
|
|
vars:
|
2015-06-30 17:20:39 +02:00
|
|
|
includeFilter1: "insert"
|
|
|
|
includeFilter2 : "core regression"
|
|
|
|
excludeFilter : "single_threaded"
|
|
|
|
threads : "1 2 4 8"
|
2015-08-13 13:46:38 +02:00
|
|
|
- func: "analyze"
|
2015-06-30 17:20:39 +02:00
|
|
|
- name: geo
|
|
|
|
depends_on:
|
|
|
|
- name: compile
|
|
|
|
commands:
|
|
|
|
- func: "start server"
|
|
|
|
- func: "run perf tests"
|
|
|
|
vars:
|
|
|
|
includeFilter1: "geo"
|
|
|
|
includeFilter2 : "core regression"
|
|
|
|
excludeFilter : "single_threaded"
|
|
|
|
threads : "1 2 4 8"
|
2015-08-13 13:46:38 +02:00
|
|
|
- func: "analyze"
|
2015-06-30 17:20:39 +02:00
|
|
|
- name: misc
|
|
|
|
depends_on:
|
|
|
|
- name: compile
|
|
|
|
commands:
|
|
|
|
- func: "start server"
|
|
|
|
- func: "run perf tests"
|
|
|
|
vars:
|
|
|
|
includeFilter1: "command multi remove mixed"
|
|
|
|
includeFilter2 : "core regression"
|
|
|
|
excludeFilter : "single_threaded"
|
|
|
|
threads : "1 2 4 8"
|
2015-08-13 13:46:38 +02:00
|
|
|
- func: "analyze"
|
2015-06-30 17:20:39 +02:00
|
|
|
- name: singleThreaded
|
|
|
|
depends_on:
|
|
|
|
- name: compile
|
|
|
|
commands:
|
|
|
|
- func: "start server"
|
|
|
|
- func: "run perf tests"
|
|
|
|
vars:
|
|
|
|
includeFilter1: "single_threaded"
|
|
|
|
includeFilter2 : "core regression"
|
|
|
|
excludeFilter : "none"
|
|
|
|
threads : "1"
|
2015-08-13 13:46:38 +02:00
|
|
|
- func: "analyze"
|
2015-06-05 23:41:48 +02:00
|
|
|
|
|
|
|
buildvariants:
|
|
|
|
- name: linux-wt-standalone
|
|
|
|
display_name: Linux WT Standalone
|
2015-07-17 17:24:35 +02:00
|
|
|
batchtime: 90 # 1.5 hours
|
2015-06-05 23:41:48 +02:00
|
|
|
expansions:
|
2015-07-17 17:24:35 +02:00
|
|
|
compile_flags: &compile_flags -j$(grep -c ^processor /proc/cpuinfo) CC=/opt/mongodbtoolchain/bin/gcc CXX=/opt/mongodbtoolchain/bin/g++ --release
|
|
|
|
mongod_exec_wrapper: &exec_wrapper "numactl --physcpubind=4,5,6,7 -i 1"
|
|
|
|
perf_exec_wrapper: &perf_wrapper "numactl --physcpubind=1,2,3 -i 0"
|
2015-06-18 01:20:02 +02:00
|
|
|
mongod_flags: "--storageEngine=wiredTiger --logpath ./mongod.log --fork --syncdelay 0 --nojournal --setParameter ttlMonitorEnabled=false --wiredTigerCacheSizeGB 16"
|
2015-06-05 23:41:48 +02:00
|
|
|
|
|
|
|
run_on:
|
2015-06-09 22:32:13 +02:00
|
|
|
- "centos6-perf"
|
2015-06-05 23:41:48 +02:00
|
|
|
tasks:
|
|
|
|
- name: compile
|
|
|
|
distros:
|
|
|
|
- rhel55
|
|
|
|
- name: query
|
2015-08-10 21:57:22 +02:00
|
|
|
- name: where
|
2015-06-05 23:41:48 +02:00
|
|
|
- name: update
|
|
|
|
- name: insert
|
2015-06-30 17:20:39 +02:00
|
|
|
- name: geo
|
|
|
|
- name: misc
|
|
|
|
- name: singleThreaded
|
2015-06-18 01:09:59 +02:00
|
|
|
|
2015-07-14 22:02:25 +02:00
|
|
|
- name: linux-mmap-standalone
|
|
|
|
display_name: Linux MMAPv1 Standalone
|
2015-07-17 17:24:35 +02:00
|
|
|
batchtime: 90 # 1.5 hours
|
2015-07-14 22:02:25 +02:00
|
|
|
expansions:
|
2015-07-17 17:24:35 +02:00
|
|
|
compile_flags: *compile_flags
|
|
|
|
mongod_exec_wrapper: *exec_wrapper
|
|
|
|
perf_exec_wrapper: *perf_wrapper
|
2015-07-14 22:02:25 +02:00
|
|
|
mongod_flags: "--storageEngine=mmapv1 --logpath ./mongod.log --fork --syncdelay 0 --nojournal --setParameter ttlMonitorEnabled=false"
|
|
|
|
|
|
|
|
run_on:
|
|
|
|
- "centos6-perf"
|
|
|
|
tasks:
|
|
|
|
- name: compile
|
|
|
|
distros:
|
|
|
|
- rhel55
|
|
|
|
- name: query
|
2015-08-10 21:57:22 +02:00
|
|
|
- name: where
|
2015-07-14 22:02:25 +02:00
|
|
|
- name: update
|
|
|
|
- name: insert
|
|
|
|
- name: geo
|
|
|
|
- name: misc
|
|
|
|
- name: singleThreaded
|
|
|
|
|
2015-06-18 01:09:59 +02:00
|
|
|
- name: linux-wt-repl
|
|
|
|
display_name: Linux WT 1-Node ReplSet
|
2015-07-17 17:24:35 +02:00
|
|
|
batchtime: 360 # 6 hours
|
2015-06-18 01:09:59 +02:00
|
|
|
expansions:
|
2015-07-17 17:24:35 +02:00
|
|
|
compile_flags: *compile_flags
|
|
|
|
mongod_exec_wrapper: *exec_wrapper
|
|
|
|
perf_exec_wrapper: *perf_wrapper
|
2015-06-25 14:49:31 +02:00
|
|
|
mongod_flags: "--replSet=test --storageEngine=wiredTiger --logpath ./mongod.log --fork --syncdelay 0 --nojournal --setParameter ttlMonitorEnabled=false --wiredTigerCacheSizeGB 16 --oplogSize 100000"
|
2015-06-18 01:09:59 +02:00
|
|
|
|
|
|
|
run_on:
|
|
|
|
- "centos6-perf"
|
|
|
|
tasks:
|
|
|
|
- name: compile
|
|
|
|
distros:
|
|
|
|
- rhel55
|
|
|
|
- name: update
|
|
|
|
- name: insert
|
2015-06-30 17:20:39 +02:00
|
|
|
- name: misc
|
|
|
|
- name: singleThreaded
|
2015-07-17 17:24:35 +02:00
|
|
|
|
|
|
|
- name: linux-mmap-repl
|
|
|
|
display_name: Linux MMapv1 1-Node ReplSet
|
|
|
|
batchtime: 360 # 6 hours
|
|
|
|
expansions:
|
|
|
|
compile_flags: *compile_flags
|
|
|
|
mongod_exec_wrapper: *exec_wrapper
|
|
|
|
perf_exec_wrapper: *perf_wrapper
|
|
|
|
mongod_flags: "--replSet=test --storageEngine=mmapv1 --logpath ./mongod.log --fork --syncdelay 0 --nojournal --setParameter ttlMonitorEnabled=false --oplogSize 100000"
|
|
|
|
|
|
|
|
run_on:
|
|
|
|
- "centos6-perf"
|
|
|
|
tasks:
|
|
|
|
- name: compile
|
|
|
|
distros:
|
|
|
|
- rhel55
|
|
|
|
- name: update
|
|
|
|
- name: insert
|
|
|
|
- name: misc
|
|
|
|
- name: singleThreaded
|