|
| 1 | +# This file contains configurations that are used by BRAD. These are default |
| 2 | +# values and should be customized for specific situations. |
| 3 | + |
| 4 | +# BRAD's front end servers will listen for client connections on this interface |
| 5 | +# and port. If `num_front_ends` is greater than one, subsequent front ends will |
| 6 | +# listen on successive ports (e.g., 6584, 6585, etc.). |
| 7 | +front_end_interface: "0.0.0.0" |
| 8 | +front_end_port: 6583 |
| 9 | +num_front_ends: 1 |
| 10 | + |
| 11 | +# If installed and enabled, BRAD will serve its UI from a webserver that listens |
| 12 | +# for connections on this network interface and port. |
| 13 | +ui_interface: "0.0.0.0" |
| 14 | +ui_port: 7583 |
| 15 | + |
| 16 | +# Logging paths. If the value is in ALL_CAPS (with underscores), it is |
| 17 | +# interpreted as an environment variable (BRAD will log to the path stored in |
| 18 | +# the environment variable). |
| 19 | + |
| 20 | +# Where BRAD's daemon process will write its logs. |
| 21 | +daemon_log_file: /tmp |
| 22 | + |
| 23 | +# Where BRAD's front end processes will write their logs. |
| 24 | +front_end_log_path: /tmp |
| 25 | + |
| 26 | +# Where BRAD's blueprint planner will write debug logs. |
| 27 | +planner_log_path: /tmp |
| 28 | + |
| 29 | +# Where BRAD's metrics loggers will write their logs. |
| 30 | +metrics_log_path: /tmp |
| 31 | + |
| 32 | +# Probability that each transactional query will be logged. |
| 33 | +txn_log_prob: 0.01 |
| 34 | + |
| 35 | +# Set to a non-zero value enable automatic data syncing. When this is set to 0, |
| 36 | +# automatic syncing is disabled. |
| 37 | +data_sync_period_seconds: 0 |
| 38 | + |
| 39 | +# BRAD's front end servers will report their metrics at regular intervals. |
| 40 | +front_end_metrics_reporting_period_seconds: 30 |
| 41 | +front_end_query_latency_buffer_size: 100 |
| 42 | + |
| 43 | +# `default` means to use the policy encoded in the blueprint. Other values will |
| 44 | +# override the blueprint. |
| 45 | +routing_policy: default |
| 46 | + |
| 47 | +# Whether to disable table movement for benchmark purposes (i.e., keep all |
| 48 | +# tables on all engines.) |
| 49 | +disable_table_movement: true |
| 50 | + |
| 51 | +# Epoch length for metrics and forecasting. This is the granularity at which |
| 52 | +# metrics/forecasting will be performed. |
| 53 | +epoch_length: |
| 54 | + weeks: 0 |
| 55 | + days: 0 |
| 56 | + hours: 0 |
| 57 | + minutes: 1 |
| 58 | + |
| 59 | +# Blueprint planning strategy. |
| 60 | +strategy: fp_query_based_beam |
| 61 | + |
| 62 | +# Used to specify the period of time over which to use data for planning. |
| 63 | +# Currrently, this is a "look behind" window for the workload. |
| 64 | +planning_window: |
| 65 | + weeks: 0 |
| 66 | + days: 0 |
| 67 | + hours: 1 |
| 68 | + minutes: 0 |
| 69 | + |
| 70 | +# Used to aggregate metrics collected in the planning window. |
| 71 | +metrics_agg: |
| 72 | + method: ewm # 'mean' is another option |
| 73 | + alpha: 0.86466472 # 1 - 1 / e^2 |
| 74 | + |
| 75 | +# Used during planning. |
| 76 | +reinterpret_second_as: 1 |
| 77 | + |
| 78 | +# The query distribution must change by at least this much for a new blueprint |
| 79 | +# to be accepted. |
| 80 | +query_dist_change_frac: 0.1 |
| 81 | + |
| 82 | +# The search bound for the provisioning. |
| 83 | +max_provisioning_multiplier: 2.5 |
| 84 | + |
| 85 | +# Flag options for blueprint planning. |
| 86 | +use_io_optimized_aurora: true |
| 87 | +use_recorded_routing_if_available: true |
| 88 | +ensure_tables_together_on_one_engine: true |
| 89 | + |
| 90 | +# Loads used to prime the system when no information is available. |
| 91 | +aurora_initialize_load_fraction: 0.25 |
| 92 | +redshift_initialize_load_fraction: 0.25 |
| 93 | + |
| 94 | +# BRAD will not reduce predicted load lower than these values. Raise these |
| 95 | +# values to be more conservative against mispredictions. |
| 96 | +aurora_min_load_removal_fraction: 0.8 |
| 97 | +redshift_min_load_removal_fraction: 0.8 |
| 98 | + |
| 99 | +# Blueprint planning performance ceilings. |
| 100 | +query_latency_p90_ceiling_s: 30.0 |
| 101 | +txn_latency_p90_ceiling_s: 0.030 |
| 102 | + |
| 103 | +# If set to true, BRAD will attempt to use the specified preset Redshift |
| 104 | +# clusters instead of resizing the main Redshift cluster. |
| 105 | +use_preset_redshift_clusters: false |
| 106 | + |
| 107 | +# Used for ordering blueprints during planning. |
| 108 | +comparator: |
| 109 | + type: benefit_perf_ceiling # or `perf_ceiling` |
| 110 | + |
| 111 | + benefit_horizon: # Only used by the `benefit_perf_ceiling` comparator |
| 112 | + weeks: 0 |
| 113 | + days: 0 |
| 114 | + hours: 1 |
| 115 | + minutes: 0 |
| 116 | + |
| 117 | + penalty_threshold: 0.8 # Only used by the `benefit_perf_ceiling` comparator |
| 118 | + penalty_power: 8 # Only used by the `benefit_perf_ceiling` comparator |
| 119 | + |
| 120 | +# Used for precomputed predictions. |
| 121 | +std_datasets: |
| 122 | + - name: regular |
| 123 | + path: workloads/IMDB_100GB/regular_test/ |
| 124 | + - name: adhoc |
| 125 | + path: workloads/IMDB_100GB/adhoc_test/ |
| 126 | + |
| 127 | +bootstrap_vdbe_path: config/vdbe_demo/imdb_extended_vdbes.json |
| 128 | + |
| 129 | +# Blueprint planning trigger configs. |
| 130 | + |
| 131 | +triggers: |
| 132 | + enabled: false |
| 133 | + check_period_s: 90 # Triggers are checked every X seconds. |
| 134 | + check_period_offset_s: 360 # Wait 6 mins before starting. |
| 135 | + |
| 136 | + # Triggers will not fire for at least this many minutes after a new blueprint |
| 137 | + # takes effect. Usually this should be greater than zero to give BRAD |
| 138 | + # sufficient time to observe the effect of the blueprint on the workload. BRAD |
| 139 | + # may wait longer to ensure metrics are also available for this many minutes. |
| 140 | + observe_new_blueprint_mins: 3 |
| 141 | + |
| 142 | + elapsed_time: |
| 143 | + disabled: true |
| 144 | + multiplier: 60 # Multiplier over `planning_window`. |
| 145 | + |
| 146 | + redshift_cpu: |
| 147 | + lo: 15 |
| 148 | + hi: 85 |
| 149 | + sustained_epochs: 3 |
| 150 | + |
| 151 | + aurora_cpu: |
| 152 | + lo: 15 |
| 153 | + hi: 85 |
| 154 | + sustained_epochs: 3 |
| 155 | + |
| 156 | + variable_costs: |
| 157 | + disabled: true |
| 158 | + threshold: 1.0 |
| 159 | + |
| 160 | + query_latency_ceiling: |
| 161 | + ceiling_s: 30.0 |
| 162 | + sustained_epochs: 3 |
| 163 | + |
| 164 | + txn_latency_ceiling: |
| 165 | + ceiling_s: 0.030 |
| 166 | + sustained_epochs: 3 |
| 167 | + |
| 168 | + recent_change: |
| 169 | + delay_epochs: 5 |
0 commit comments