Closed mdashti closed 3 years ago
I'd suggest also apply the following diff to etc/perf.yml:
diff --git a/etc/perf.yml b/etc/perf.yml
index b633fde51ce..6b6323d4da2 100644
--- a/etc/perf.yml
+++ b/etc/perf.yml
@@ -474,6 +474,18 @@ tasks:
exclude_filter: single_threaded,
threads: "1 2 4 8",
read_cmd: 'true'}
+ - name: big_collection
+ depends_on: *_compile
+ commands:
+ - func: f_run_dsi_workload
+ vars:
+ test_control: microbenchmarks
+ test_control_params: |
+ {include_filter_1: query,
+ include_filter_2: getmore,
+ exclude_filter: none,
+ threads: "1 2 4 8",
+ read_cmd: 'true'}
- name: views-query
depends_on: *_compile
commands:
@@ -735,6 +747,7 @@ microbenchmark-buildvariants:
- name: compile
distros:
- rhel62-large
+ - name: big_collection
- name: genny_scale_InsertRemove
- name: genny_execution_UserAcquisition
- name: aggregation_read_commands
If you agree, I can create a separate SERVER ticket for that change and create a separate PR for it.
Hey @mdashti thanks for the PR and new workload. I'm substituting in for David as a reviewer from the perf team. Could you please run a few patches with this change + the etc/perf.yml change to see what the overall noise level is like for the new test? Please reach out if you have any questions!
@brad-devlugt Thanks for accepting to take a look at this PR.
Here are a few evergreen patches:
Thanks for the review @brad-devlugt. Applied your suggestions. Here's the evergreen build: https://spruce.mongodb.com/version/615f43e53e8e86320ca969c5
Thanks! LGTM
This PR adds a micro-benchmark that applies scan and non-selective-filter over a big collection with:
These operations are followed with several
getMore
commands to read the whole result. This benchmark mostly measures the impact ofgetMore
commands, as the query processing part is very simple and most of the time is spent on requesting the whole big result-set via severalgetMore
commands.