Jason Lyu c6ad75afac style: sort go imports (#1844) 1 år sedan
..
main.go 19e4950364 test(benchmark): benchmark test for multiple rules 3 år sedan
pub.go c6ad75afac style: sort go imports (#1844) 1 år sedan
readme.md 19e4950364 test(benchmark): benchmark test for multiple rules 3 år sedan
ruleCreator.go 19e4950364 test(benchmark): benchmark test for multiple rules 3 år sedan

readme.md

Test

In this multiple rules scenario benchmark, we will create a shared stream and multiple rules on that single stream. By default, there will be 300 rules with 500 tps which means 150000 processing happen per second.

Run the test

Recommend to set kuiper.yaml ignoreCase to false, then start eKuiper and the mqtt broker.

  1. Setting variables: open ruleCreator.go, modify the const variables to set up the eKuiper url, mqtt broker url and how many rules to create. Then open pub.go to set up the tps.
  2. Build the test util. In this directory, run go build -o pub100 . It will produce an executable pub100.
  3. Create rules: ./pub100 create which will create the rules. In eKuiper data/sqliteKV.db can be backed up. So in the future, just restore this file to create these rules.
  4. Run ./pub100. Monitor the CPU, memory usage and the mqtt sink topic demoSink metric to measure the workload.