graphql-engine/server/benchmarks/benchmark_sets/huge_schema
Auke Booij 29b2161402 Add benchmarks for allowlist operations
There are some incremental Metadata API methods that have no good justification for taking so much time to complete. This adds some of them to the CI benchmark suite, so that we can track their performance.

I have a prototype to speed up some of these methods 10x; see hasura/graphql-engine-mono#6613.

PR-URL: https://github.com/hasura/graphql-engine-mono/pull/6627
GitOrigin-RevId: fecc7f28cae734b4acad68a63cbcdf0a2693d567
2022-11-01 17:28:15 +00:00
..
adhoc_operations Add benchmarks for allowlist operations 2022-11-01 17:28:15 +00:00
config.query.yaml ci/benchmarks: tweak what we present in regression report 2022-09-22 13:28:56 +00:00
dump.sql.gz Add initial benchmark suite, running in CI (closes hasura/graphql-engine-mono#736) 2021-07-08 18:19:51 +00:00
README.md Add initial benchmark suite, running in CI (closes hasura/graphql-engine-mono#736) 2021-07-08 18:19:51 +00:00
replace_metadata.json Add initial benchmark suite, running in CI (closes hasura/graphql-engine-mono#736) 2021-07-08 18:19:51 +00:00

Huge Schema is an anonymized version of a real schema, without row data. It is notable for:

  • having hundreds of tables, and relationships (including cycles)
  • dozens of different roles and permissions

We select it for inclusion because the memory requirements to serve such a large schema are currently high.

We also test a small and a big query (returning no data) to see if schema size affects latency and (for the latter case) to time SQL generation.