risingwavelabs / risingwave

Best-in-class stream processing, analytics, and management. Perform continuous analytics, or build event-driven applications, real-time ETL pipelines, and feature stores in minutes. Unified streaming and batch. PostgreSQL compatible.
https://go.risingwave.com/slack
Apache License 2.0
7.04k stars 579 forks source link

Micro-benchmark for frontend plan generation #8031

Open jon-chuang opened 1 year ago

jon-chuang commented 1 year ago

We should do so to understand the performance to know if it is acceptable for batch queries.

We should benchmark simple queries (SELECT * FROM t WHERE id = 1); and more complicated ones. I guess sysbench benchmarks the e2e performance, this is just a microbench for the in-memory execution time.

Original motivation (https://github.com/risingwavelabs/risingwave/issues/7998):

explain_to_string() is called even for non-explain queries. This is unacceptable and might be a performance botten-neck for serving queries.

jon-chuang commented 1 year ago

Suggestions for complex batch queries or existing examples welcome. @BugenZhao @chenzl25 @lmatz @fuyufjh @st1page

(I will take some from sysbench)

liurenjie1024 commented 1 year ago

For complex queries, it's better to take from tpch, sysbench is too simple.