diff options
author | Luke Chen <luke.chen@mongodb.com> | 2022-11-08 12:50:16 +1100 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-11-08 02:19:21 +0000 |
commit | abfd2d992e2e75b196940e80225cb930c1b69b8a (patch) | |
tree | a1015dacdb0a2bd7c0b0ef08bcd8ae56e7066a53 /src/third_party/wiredtiger | |
parent | 1cc112b1b4ebbacdae1278dc7a7741c2aa75e947 (diff) | |
download | mongo-abfd2d992e2e75b196940e80225cb930c1b69b8a.tar.gz |
Import wiredtiger: c1801c6d1b32cc26318c1ec51030fdd8cbb95b49 from branch mongodb-master
ref: c1dd33282c..c1801c6d1b
for: 6.2.0-rc0
WT-9969 Add MongoDB oplog simulation performance workload to automated testing (#8366)
Diffstat (limited to 'src/third_party/wiredtiger')
4 files changed, 85 insertions, 3 deletions
diff --git a/src/third_party/wiredtiger/bench/perf_run_py/perf_stat.py b/src/third_party/wiredtiger/bench/perf_run_py/perf_stat.py index b608c041c8b..43e715ab1d4 100644 --- a/src/third_party/wiredtiger/bench/perf_run_py/perf_stat.py +++ b/src/third_party/wiredtiger/bench/perf_run_py/perf_stat.py @@ -29,6 +29,7 @@ # OTHER DEALINGS IN THE SOFTWARE. import glob import json +import os import re from typing import List @@ -169,3 +170,14 @@ class PerfStatLatencyWorkgen(PerfStat): 'values': sorted(self.values) }) return as_list + + +class PerfStatDBSize(PerfStat): + def find_stat(self, test_stat_path: str): + home_path = os.path.dirname(test_stat_path) + total_size = 0 + + for ele in os.scandir(home_path): + total_size += os.path.getsize(ele) + + return [total_size] diff --git a/src/third_party/wiredtiger/bench/perf_run_py/perf_stat_collection.py b/src/third_party/wiredtiger/bench/perf_run_py/perf_stat_collection.py index 2211fa861b5..c7a280d9b1e 100644 --- a/src/third_party/wiredtiger/bench/perf_run_py/perf_stat_collection.py +++ b/src/third_party/wiredtiger/bench/perf_run_py/perf_stat_collection.py @@ -29,7 +29,7 @@ # OTHER DEALINGS IN THE SOFTWARE. import os -from perf_stat import PerfStat, PerfStatCount, PerfStatLatency, PerfStatMinMax, PerfStatLatencyWorkgen +from perf_stat import PerfStat, PerfStatCount, PerfStatLatency, PerfStatMinMax, PerfStatLatencyWorkgen, PerfStatDBSize from typing import List @@ -169,5 +169,7 @@ class PerfStatCollection: stat_file='../stdout_file.txt', pattern=r'max latency exceeded.*update', output_label='Latency update(in micro sec) Max', - input_offset=11) + input_offset=11), + PerfStatDBSize(short_label="database_size", + output_label='Database Size (in bytes)') ] diff --git a/src/third_party/wiredtiger/import.data b/src/third_party/wiredtiger/import.data index 8e767510843..dfdf44a1f0d 100644 --- a/src/third_party/wiredtiger/import.data +++ b/src/third_party/wiredtiger/import.data @@ -2,5 +2,5 @@ "vendor": "wiredtiger", "github": "wiredtiger/wiredtiger.git", "branch": "mongodb-master", - "commit": "c1dd33282c358e1638f127b5bdd68b34d1ebf764" + "commit": "c1801c6d1b32cc26318c1ec51030fdd8cbb95b49" } diff --git a/src/third_party/wiredtiger/test/evergreen.yml b/src/third_party/wiredtiger/test/evergreen.yml index c8e63d821ed..43133eee48a 100755 --- a/src/third_party/wiredtiger/test/evergreen.yml +++ b/src/third_party/wiredtiger/test/evergreen.yml @@ -3515,6 +3515,70 @@ tasks: vars: perf-test-name: modify-force-update-large-record-btree.wtperf + ############################### + # Performance Tests for oplog # + ############################### + + - name: perf-test-mongodb-oplog + tags: ["oplog-perf"] + depends_on: + - name: compile + commands: + - func: "fetch artifacts" + - func: "run-perf-test" + vars: + perf-test-name: mongodb-oplog.wtperf + maxruns: 1 + wtarg: -ops ['"load", "insert", "truncate", "database_size"'] + - func: "upload-perf-test-stats" + vars: + perf-test-name: mongodb-oplog.wtperf + + - name: perf-test-mongodb-small-oplog + tags: ["oplog-perf"] + depends_on: + - name: compile + commands: + - func: "fetch artifacts" + - func: "run-perf-test" + vars: + perf-test-name: mongodb-small-oplog.wtperf + maxruns: 1 + wtarg: -ops ['"load", "insert", "truncate", "database_size"'] + - func: "upload-perf-test-stats" + vars: + perf-test-name: mongodb-small-oplog.wtperf + + - name: perf-test-mongodb-large-oplog + tags: ["oplog-perf"] + depends_on: + - name: compile + commands: + - func: "fetch artifacts" + - func: "run-perf-test" + vars: + perf-test-name: mongodb-large-oplog.wtperf + maxruns: 1 + wtarg: -ops ['"load", "insert", "truncate", "database_size"'] + - func: "upload-perf-test-stats" + vars: + perf-test-name: mongodb-large-oplog.wtperf + + - name: perf-test-mongodb-secondary-apply + tags: ["oplog-perf"] + depends_on: + - name: compile + commands: + - func: "fetch artifacts" + - func: "run-perf-test" + vars: + perf-test-name: mongodb-secondary-apply.wtperf + maxruns: 1 + wtarg: -ops ['"insert"'] + - func: "upload-perf-test-stats" + vars: + perf-test-name: mongodb-secondary-apply.wtperf + ######################################### # Performance Tests for perf-checkpoint # ######################################### @@ -4388,6 +4452,7 @@ buildvariants: - name: ".evict-perf" - name: ".log-perf" - name: ".long-perf" + - name: ".oplog-perf" - name: many-dhandle-stress - name: ".wt2853-perf" - name: cppsuite-bounded-cursor-perf-stress @@ -4414,6 +4479,9 @@ buildvariants: - name: Wiredtiger-perf-long-jobs execution_tasks: - ".long-perf" + - name: Wiredtiger-perf-oplog-jobs + execution_tasks: + - ".oplog-perf" - name: WiredTiger-wt2853-perf execution_tasks: - ".wt2853-perf" |