Configurations
The application supports following environment variables -
RUST_LOG
Configure logging level, default is info
.
You can either configure logging levels for all the components or set different level for different components. For example -
- To enable trace logging -
RUST_LOG=trace
- To enable debug log for executor(handles test request), but info for other -
RUST_LOG=info,cluster_executor=debug
DATA_DIR
Path to store uploaded CSV files, default is /tmp
.
REQUEST_BUNDLE_SIZE
Overload divides total requests to be sent in a second to smaller chunks and process these chunks at
certain intervals. This variable can be used to set the max chunk size. Default is 50
.
For example, if QPS is 100 at certain point and REQUEST_BUNDLE_SIZE=10, Overload will send 10 requests at 100ms interval; if REQUEST_BUNDLE_SIZE=20, app will send 20 requests at 200ms interval.
Note that, if the value is too less, application may fail to fulfill the QPS, setting too high will increase memory usage. Application should be scaled horizontally in that case.
K8S_ENDPOINT_NAME
Name of the endpoints, default is overload
.
K8S_NAMESPACE_NAME
The kubernetes namespace the application is deployed on, default is default
.
CLUSTER_UPDATE_INTERVAL
Interval between discovery service calls in seconds, default is 10
.
Setting it too low can cause frequent call to k8s API, and if set too high, it may take long time to discover new pods.
CLUSTER_ELECTION_TIMEOUT
Approximate interval in seconds between attempts to elect new leader node. Application will use a randomly chosen value between CLUSTER_ELECTION_TIMEOUT and CLUSTER_ELECTION_TIMEOUT*2.
Default is 30
CLUSTER_MAX_NODE
Maximum number of allowed node in a cluster. Minimum is 4
, default 20
.
CLUSTER_MIN_NODE
Minimum number of nodes required to create a cluster. Minimum is 4
, default 4
.