Skip to content

Extensions for volume testing #223

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 77 commits into from
Mar 8, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
a10f231
Add NHS driver (untested)
martinsumner Dec 8, 2016
a579786
Add First draft of NHS changes
martinsumner Dec 14, 2016
b0bd9e8
Switch example
martinsumner Mar 3, 2017
90869a4
Merge remote-tracking branch 'origin/mas-nhsload' into mas-nhsload
martinsumner Mar 3, 2017
824d559
Work on semi-compressible objects
martinsumner Mar 4, 2017
866ae2d
Compile issues resolved
martinsumner Mar 4, 2017
be9706c
Alter valgen to emit SourceSz correctly
martinsumner Mar 5, 2017
f384c09
Add 2i support
martinsumner Mar 5, 2017
00409c6
Add 2i query
martinsumner Mar 5, 2017
c083dd4
Switch to non-deprecated get_index_range
martinsumner Mar 5, 2017
96dd856
adjust format of results
martinsumner Mar 5, 2017
dec1a38
Does empty results have a different look?
martinsumner Mar 6, 2017
1cb5b7a
Untested extension of 2i query
martinsumner Mar 16, 2017
5ba29fb
Compile fix #1
martinsumner Mar 16, 2017
f8a1e36
Improve logging of query results
martinsumner Mar 16, 2017
e33bb72
Add eighty-twenty KeyGen
martinsumner May 30, 2017
a4d1ffe
Alternate chart script
martinsumner May 31, 2017
49e6630
Add listkeys support to test
martinsumner Jul 27, 2017
9b4a998
Randomise listkeys request
martinsumner Jul 27, 2017
765fcd1
Add listkeys config
martinsumner Jul 27, 2017
ee6eafa
Ooops ... milliseconds not seconds
martinsumner Jul 27, 2017
bf2e73b
Correct log unit to seconds not ms
martinsumner Jul 27, 2017
7d9e8ee
Log typo
martinsumner Jul 27, 2017
0c8b111
Add support for a singleton listkeys worker
martinsumner Jul 27, 2017
75c826f
Attempt to make listkeys async
martinsumner Jul 30, 2017
c50aea6
Handle undefined pid
martinsumner Jul 30, 2017
f6a6e89
Make Args list
martinsumner Jul 30, 2017
ceb6127
Correct return from spawn
martinsumner Jul 30, 2017
fa47990
Add multiplier
martinsumner Aug 16, 2017
3142acb
Fixes to get nhs driver working
ranisen Oct 4, 2017
395893c
Changed operations to reflect actual test, and re-added io:format sta…
ranisen Oct 4, 2017
214f9c6
Merge pull request #1 from ramensen/mas-nhsload
martinsumner Oct 4, 2017
f0b7e6c
Change logging of average query response size
martinsumner Oct 4, 2017
d1ad2c4
Divide by 0!
martinsumner Oct 4, 2017
78e9939
Fix regular expression
martinsumner Oct 4, 2017
31246f8
Slim query results a bit
martinsumner Oct 4, 2017
bc51325
Add draft aae query support
martinsumner Oct 5, 2017
5f174d6
Change timeout for aae fold
martinsumner Oct 5, 2017
c63c5d7
Split HTTP target for fold
martinsumner Oct 5, 2017
80c6257
Fix typo
martinsumner Oct 5, 2017
e920a95
Force fold onto separate HTTP target
martinsumner Oct 5, 2017
082a321
Attempt to use ibrowse spawn
martinsumner Oct 5, 2017
680398b
D'Oh
martinsumner Oct 5, 2017
82dd01c
Add list keys support
martinsumner Oct 5, 2017
4fe0cf3
Record key counts
martinsumner Oct 6, 2017
330bfbc
Typo
martinsumner Oct 6, 2017
9a201f5
Document valgen - balance "semi" compression
martinsumner Nov 9, 2017
89685b4
Add segment_fold test
martinsumner Nov 10, 2017
327752b
Add get_unique
martinsumner Nov 20, 2017
a0dfc26
Config fiddling
martinsumner Nov 20, 2017
ae98aa2
Use correct keygen
martinsumner Nov 20, 2017
0439c33
Further review of NHS settings
martinsumner Nov 21, 2017
4dff206
Fix get/put unique
martinsumner Nov 23, 2017
4130585
De-tune sem-compress size
martinsumner Nov 23, 2017
778b627
Fix number format
martinsumner Nov 23, 2017
2343743
More PUT uniques
martinsumner Nov 27, 2017
f977acc
Add force_aae option to basho_bench
martinsumner May 26, 2018
c072f3b
URL format - requires strings not binaries
martinsumner May 26, 2018
5460254
ForceAAE changes
martinsumner Jul 9, 2018
4b75c98
NHS Config with no not_found
martinsumner Jul 9, 2018
52ce42c
Change proportions of requests
martinsumner Jul 9, 2018
8a99027
Config used
martinsumner Jul 9, 2018
2ab383b
Bug fixes
martinsumner Jul 10, 2018
c2545de
Used record bucket for alwaysget
martinsumner Jul 10, 2018
7bdc155
Make sure keys convert to JSON
martinsumner Jul 10, 2018
93ecbc1
Key space expanding too quickly
martinsumner Jul 11, 2018
c95516c
Too many changes
martinsumner Jul 11, 2018
00c0f16
Revert "Too many changes"
martinsumner Jul 11, 2018
83f2260
Log every thousand increments
martinsumner Jul 11, 2018
d73e4f8
Add clincials basho_bench
martinsumner Jul 18, 2018
9bc7cc8
Reduce key count
martinsumner Jul 18, 2018
1444e6e
Set minimum keys for always get
martinsumner Jul 18, 2018
f02cd71
Allow unique to be skew_order
martinsumner Jul 19, 2018
da7756d
Attempt at HTTP based bench GET
martinsumner Jul 19, 2018
be33ca3
Add node() to key ID
martinsumner Jul 20, 2018
0f42622
Allow admin override of node name
martinsumner Jul 20, 2018
57e133a
New NHS load test
martinsumner Nov 16, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
46 changes: 46 additions & 0 deletions examples/riakc_nhs.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{mode, max}.

{duration, 1440}.
{report_interval, 10}.

{node_name, testnode1}.

{concurrent, 100}.

{driver, basho_bench_driver_nhs}.

%% Ignored by alwaysget and unique operations
{key_generator, {eightytwenty_int, 100000000}}.

{value_generator, {semi_compressible, 5000, 3000, 5, 0.2}}.

%% For alwaysget operations what is:
%% - the maximum number of keys per worker (max number of keys = this * concurrent)
%% - whether the inserts should be in key_order, or whether the order should be skewed by a 1 byte hash at the head of the key
{alwaysget, {600000, 1, skew_order}}.

{pb_ips, [{127,0,0,1}]}.
{http_ips, [{127,0,0,1}]}.

{riakc_pb_replies, 1}.

{operations, [{alwaysget_pb, 612}, {alwaysget_updatewith2i, 192},
{put_unique, 64}, {get_unique, 128},
{postcodequery_http, 3}, {dobquery_http, 1}]}.

%% Use {auto_reconnect, false} to get "old" behavior (prior to April 2013).
%% See deps/riakc/src/riakc_pb_socket.erl for all valid socket options.
{pb_connect_options, [{auto_reconnect, true}]}.

%% Overrides for the PB client's default 60 second timeout, on a
%% per-type-of-operation basis. All timeout units are specified in
%% milliseconds. The pb_timeout_general config item provides a
%% default timeout if the read/write/listkeys/mapreduce timeout is not
%% specified.

{pb_timeout_general, 60000}.
{pb_timeout_read, 10000}.
{pb_timeout_write, 10000}.
{pb_timeout_listkeys, 60000}.
%% The general timeout will be used because this specific item is commented:
%% {pb_timeout_mapreduce, 50000}.
46 changes: 46 additions & 0 deletions examples/riakc_nhs_clinicals.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{mode, max}.

{duration, 1440}.
{report_interval, 10}.

{node_name, testnode1}.

{concurrent, 100}.

{driver, basho_bench_driver_nhs}.

%% Ignored by alwaysget and unique operations
{key_generator, {eightytwenty_int, 100000000}}.

{value_generator, {semi_compressible, 80000, 20000, 2, 0.1}}.

%% For alwaysget operations what is:
%% - the maximum number of keys per worker (max number of keys = this * concurrent)
%% - whether the inserts should be in key_order
{alwaysget, {400000, 120000, skew_order}}.
{unique, {7000, skew_order}}.

{pb_ips, [{127,0,0,1}]}.
{http_ips, [{127,0,0,1}]}.

{riakc_pb_replies, 1}.

{operations, [{alwaysget_pb, 700}, {alwaysget_updatewith2i, 120},
{put_unique, 70}, {get_unique, 110}]}.

%% Use {auto_reconnect, false} to get "old" behavior (prior to April 2013).
%% See deps/riakc/src/riakc_pb_socket.erl for all valid socket options.
{pb_connect_options, [{auto_reconnect, true}]}.

%% Overrides for the PB client's default 60 second timeout, on a
%% per-type-of-operation basis. All timeout units are specified in
%% milliseconds. The pb_timeout_general config item provides a
%% default timeout if the read/write/listkeys/mapreduce timeout is not
%% specified.

{pb_timeout_general, 60000}.
{pb_timeout_read, 10000}.
{pb_timeout_write, 10000}.
{pb_timeout_listkeys, 60000}.
%% The general timeout will be used because this specific item is commented:
%% {pb_timeout_mapreduce, 50000}.
48 changes: 48 additions & 0 deletions examples/riakc_nhs_general.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{mode, max}.

{duration, 1440}.

{report_interval, 10}.

{node_name, testnode1}.

{concurrent, 100}.

{driver, basho_bench_driver_nhs}.

%% Ignored by alwaysget and unique operations
{key_generator, {eightytwenty_int, 100000000}}.

{value_generator, {semi_compressible, 8000, 2000, 10, 0.2}}.

%% For alwaysget operations what is:
%% - the maximum number of keys per worker (max number of keys = this * concurrent)
%% - whether the inserts should be in key_order
{alwaysget, {240000, 100000, skew_order}}.
{unique, {8000, skew_order}}.

{pb_ips, [{127,0,0,1}]}.
{http_ips, [{127,0,0,1}]}.

{riakc_pb_replies, 1}.

{operations, [{alwaysget_pb, 651}, {alwaysget_updatewith2i, 120},
{put_unique, 95}, {get_unique, 130},
{postcodequery_http, 3}, {dobquery_http, 1}]}.

%% Use {auto_reconnect, false} to get "old" behavior (prior to April 2013).
%% See deps/riakc/src/riakc_pb_socket.erl for all valid socket options.
{pb_connect_options, [{auto_reconnect, true}]}.

%% Overrides for the PB client's default 60 second timeout, on a
%% per-type-of-operation basis. All timeout units are specified in
%% milliseconds. The pb_timeout_general config item provides a
%% default timeout if the read/write/listkeys/mapreduce timeout is not
%% specified.

{pb_timeout_general, 60000}.
{pb_timeout_read, 10000}.
{pb_timeout_write, 10000}.
{pb_timeout_listkeys, 60000}.
%% The general timeout will be used because this specific item is commented:
%% {pb_timeout_mapreduce, 50000}.
48 changes: 48 additions & 0 deletions examples/riakc_nhs_passive.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{mode, {rate, 10}}.

{duration, 1440}.

{report_interval, 10}.

{node_name, testnode1}.

{concurrent, 10}.

{driver, basho_bench_driver_nhs}.

%% Ignored by alwaysget and unique operations
{key_generator, {eightytwenty_int, 100000000}}.

{value_generator, {semi_compressible, 8000, 2000, 10, 0.2}}.

%% For alwaysget operations what is:
%% - the maximum number of keys per worker (max number of keys = this * concurrent)
%% - whether the inserts should be in key_order
{alwaysget, {240000, 100000, skew_order}}.
{unique, {8000, skew_order}}.

{pb_ips, [{127,0,0,1}]}.
{http_ips, [{127,0,0,1}]}.

{riakc_pb_replies, 1}.

{operations, [{alwaysget_pb, 4}, {alwaysget_updatewith2i, 600},
{put_unique, 390}, {get_unique, 4},
{postcodequery_http, 1}, {dobquery_http, 1}]}.

%% Use {auto_reconnect, false} to get "old" behavior (prior to April 2013).
%% See deps/riakc/src/riakc_pb_socket.erl for all valid socket options.
{pb_connect_options, [{auto_reconnect, true}]}.

%% Overrides for the PB client's default 60 second timeout, on a
%% per-type-of-operation basis. All timeout units are specified in
%% milliseconds. The pb_timeout_general config item provides a
%% default timeout if the read/write/listkeys/mapreduce timeout is not
%% specified.

{pb_timeout_general, 60000}.
{pb_timeout_read, 10000}.
{pb_timeout_write, 10000}.
{pb_timeout_listkeys, 60000}.
%% The general timeout will be used because this specific item is commented:
%% {pb_timeout_mapreduce, 50000}.
22 changes: 15 additions & 7 deletions examples/riakc_pb.config
Original file line number Diff line number Diff line change
@@ -1,22 +1,30 @@
{mode, max}.

{duration, 10}.
{report_interval,1}.
{report_interval, 1}.

{concurrent, 10}.

{driver, basho_bench_driver_riakc_pb}.

{key_generator, {int_to_bin_bigendian, {uniform_int, 10000}}}.
{key_generator,
{concat_binary,
{base64,
{int_to_bin_bigendian,
{pareto_int, 200000000}
}
},
<<>>}
}.

{value_generator, {fixed_bin, 10000}}.
{value_generator, {semi_compressible, 4000, 4000, 10, 0.001}}.

{riakc_pb_ips, [{127,0,0,1}]}.

{riakc_pb_replies, 1}.

%%% {operations, [{get, 1}]}.
{operations, [{get, 1}, {update, 1}]}.
{operations, [{get, 5}, {update, 1}]}.

%% Use {auto_reconnect, false} to get "old" behavior (prior to April 2013).
%% See deps/riakc/src/riakc_pb_socket.erl for all valid socket options.
Expand All @@ -29,8 +37,8 @@
%% specified.

{pb_timeout_general, 30000}.
{pb_timeout_read, 5000}.
{pb_timeout_write, 5000}.
{pb_timeout_listkeys, 50000}.
{pb_timeout_read, 10000}.
{pb_timeout_write, 10000}.
{pb_timeout_listkeys, 3600000}.
%% The general timeout will be used because this specific item is commented:
%% {pb_timeout_mapreduce, 50000}.
44 changes: 44 additions & 0 deletions examples/riakc_pb_listkeys.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{mode, max}.

{duration, 300}.
{report_interval, 300}.

{concurrent, 1}.

{driver, basho_bench_driver_riakc_pb}.

{key_generator,
{concat_binary,
{base64,
{int_to_bin_bigendian,
{pareto_int, 200000000}
}
},
<<>>}
}.

{value_generator, {semi_compressible, 4000, 8000}}.

{riakc_pb_ips, [{127,0,0,1}]}.

{riakc_pb_replies, 1}.

%%% {operations, [{get, 1}]}.
{operations, [{pause_minute, 4}, {listkeys, 1}]}.

%% Use {auto_reconnect, false} to get "old" behavior (prior to April 2013).
%% See deps/riakc/src/riakc_pb_socket.erl for all valid socket options.
{pb_connect_options, [{auto_reconnect, true}]}.

%% Overrides for the PB client's default 60 second timeout, on a
%% per-type-of-operation basis. All timeout units are specified in
%% milliseconds. The pb_timeout_general config item provides a
%% default timeout if the read/write/listkeys/mapreduce timeout is not
%% specified.

{pb_timeout_general, 30000}.
{pb_timeout_read, 10000}.
{pb_timeout_write, 10000}.
{pb_timeout_listkeys, 3600000}.
%% The general timeout will be used because this specific item is commented:
%% {pb_timeout_mapreduce, 50000}.
Loading