mirror of
https://github.com/elastic/logstash.git
synced 2025-04-19 04:15:23 -04:00
Add a buildkite pipeline to do benchmark. The script does benchmark by running Filebeats (docker) -> Logstash (docker) -> ES Cloud. Logstash metrics and benchmark results are sent to the same ES Cloud. - Secrets store in vault `secret/ci/elastic-logstash/benchmark` - Use flog (docker) to generate ~2GB logs - Pull the snapshot docker image of the main branch every day - Logstash runs two pipelines, main and node_stats - The main pipeline handles beats ingestion, sending data to the data stream `logs-generic-default` - It runs for all combinations. (pq + mq) x worker x batch size - Each test runs for ~7 minutes - The node_stats pipeline retrieves /_node/stats API every 30s and sends it to the data stream `metrics-nodestats-logstash` - The script sends a summary of EPS and resource usage to index `benchmark_summary` The buildkite pipeline accepts ENV variables to customize the test | Variable Name | Default Value | Comment | |-----------------|---------------------|----------------------------------------------------| | FB_VERSION | 8.13.4 | docker tag | | LS_VERSION | | docker tag | | LS_JAVA_OPTS | -Xmx2g | by default, Xmx is set to half of memory | | MULTIPLIERS | 2,4,6 | determine the number of workers (cpu * multiplier) | | BATCH_SIZES | 125,1000 | | | CPU | 4 | number of cpu for Logstash container | | MEM | 4 | number of GB for Logstash container | | QTYPE | memory | queue type to test -- persisted; memory; all | | FB_CNT | 4 | number of filebeats to use in benchmark | To check the result - `vault read secret/ci/elastic-logstash/benchmark` to get the host and credentials - `curl -u "$ES_USER:$ES_PW" "$ES_HOST/benchmark_summary/_search"` Fixes: https://github.com/elastic/ingest-dev/issues/3377
14 lines
No EOL
318 B
YAML
14 lines
No EOL
318 B
YAML
agents:
|
|
provider: gcp
|
|
imageProject: elastic-images-prod
|
|
image: family/platform-ingest-logstash-ubuntu-2204
|
|
machineType: "n2-standard-16"
|
|
diskSizeGb: 100
|
|
diskType: pd-ssd
|
|
|
|
steps:
|
|
- label: "Benchmark Snapshot"
|
|
retry:
|
|
automatic:
|
|
- limit: 3
|
|
command: .buildkite/scripts/benchmark/main.sh |