%% Mandatory: adjust this code path to top of your compiled Machi source distro {code_paths, ["/Users/fritchie/b/src/machi"]}. {driver, machi_basho_bench_driver}. %% Chose your maximum rate (per worker proc, see 'concurrent' below) %{mode, {rate,10}}. %{mode, {rate,20}}. {mode, max}. %% Runtime & reporting interval {duration, 10}. % minutes {report_interval, 1}. % seconds %% Choose your number of worker procs %{concurrent, 1}. {concurrent, 5}. %{concurrent, 10}. %% Here's a chain of (up to) length 3, all on localhost %% Note: if any servers are down, and your OS/TCP stack has an %% ICMP response limit such as OS X's "net.inet.icmp.icmplim" setting, %% then if that setting is very low (e.g., OS X's limit is 50), then %% you can have big problems with ICMP/RST responses being delayed and %% interactive *very* badly with your test. %% For OS X, fix using "sudo sysctl -w net.inet.icmp.icmplim=9999" {machi_server_info, [ {p_srvr,a,machi_flu1_client,"localhost",4444,[]}, {p_srvr,b,machi_flu1_client,"localhost",4445,[]}, {p_srvr,c,machi_flu1_client,"localhost",4446,[]} ]}. {machi_ets_key_tab_type, set}. % set | ordered_set %% Workload-specific definitions follow.... %% 10 parts 'read' operation + 0 parts anything else = 100% 'read' ops {operations, [{read, 10}]}. %% For read, key = integer index into Machi's chunk ETS table, modulo the %% ETS table size, so a huge number here is OK. {key_generator, {uniform_int, 999999999999}}. %% For read, value_generator_* isn't used, so leave these defaults as-is. {value_generator_source_size, 2111000}. {value_generator, {fixed_bin, 32768}}. % 32 KB