https://github.com/srotya/sidewinder-benchmark
Repository shows how to run a benchmark on Sidewinder
https://github.com/srotya/sidewinder-benchmark
benchmark sidewinder tsdb
Last synced: 1 day ago
JSON representation
Repository shows how to run a benchmark on Sidewinder
- Host: GitHub
- URL: https://github.com/srotya/sidewinder-benchmark
- Owner: srotya
- License: apache-2.0
- Created: 2018-03-20T00:44:55.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-05-14T14:22:50.000Z (about 8 years ago)
- Last Synced: 2025-11-19T09:22:53.613Z (7 months ago)
- Topics: benchmark, sidewinder, tsdb
- Language: Java
- Size: 41 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# sidewinder-benchmark
Repository shows how to run a benchmark on Sidewinder
### Building this project
```
# Download the project using git or download source from Github
git clone https://github.com/srotya/sidewinder-benchmark.git
cd sidewinder-benchmark
# Maven compile
mvn clean package -DskipTests
# Check the artifacts
ls -lh ./target/*.jar
# (Optional) Copy artifact to tmp directory
cp ./target/sidewinder-benchmark*.jar /tmp/
```
```
Requires:
- Java 8
- Maven 3
```
### Generate Data
Influx has a project to generate data for use cases, download [Influx-Comparisons](https://github.com/influxdata/influxdb-comparisons) project to generate data and then running multi-threaded client to run ingestion. Please follow the instructions below:
```
# Download influx comparisons
go get github.com/influxdata/influxdb-comparisons/cmd/bulk_query_gen
# Go to project directory
cd ~/go/
# Run data gen
bin/bulk_data_gen -timestamp-start "2018-03-01T00:00:00Z" -timestamp-end "2018-03-01T04:00:00Z" -scale-var 10000 > /tmp/10k_4h.txt
# Compress data
gzip /tmp/10k_4h.txt
```
## Ingestion Benchmark
Switch to Sidewinder-benchmark directory or use the jar file generated above from tmp directory. To run the benchmark:
In one terminal, launch Sidewinder:
```
# Make sure sidewinder is up and running
java -Xms8g -Xmx8g -cp sidewinder-standalone-dist*.jar com.srotya.sidewinder.core.SidewinderServer server side.yaml
```
Sidewinder launch configurations are available in [sidewinder_confs](https://github.com/srotya/sidewinder-benchmark/blob/master/sidewinder_confs) directory of the repo
Another terminal, launch ingestion client (same or different node is up to you); note that having the client and server on same node reduces performance by up to 40% due to lack of CPU.
```
java -cp /tmp/sidewinder-benchmark*.jar
```
#### Influx Line Protocol Benchmark
Sidewinder supports [Influx Line Protocol](https://docs.influxdata.com/influxdb/v0.9/write_protocols/line/) is one mechnaism to ingest data into Sidewinder. To run Influx API based write benchmark, run the following command:
```
java -cp /tmp/sidewinder-benchmark*.jar com.srotya.sidewinder.clients.InfluxClientStandalone
```
e.g. run configuration on a Macbook Pro
```
java -cp /tmp/sidewinder-benchmark*.jar com.srotya.sidewinder.clients.InfluxClientStandalone 6 localhost /tmp/10k_4h.txt.gz
```