A Graphql Engine with more features based on Hasura Graphql Engine CE
You can use this web app to open the json file output of the benchmark tool:
https://hasura.github.io/graphql-bench/app/web-app/
Due to the addtional processes run, the GraphQL Engine Plus consumes more memory than the original Hasura GraphQL Engine CE. Below is some metrics.
Startup memory: 200Mib Avg memory usage: 240Mib
Startup memory: 370Mib Avg memory usage: 430Mib
turn on caching help reduce average memory usage of the Hasura Graphql Engine
Startup memory: 210Mib Avg memory usage: 240Mib When internal cache full: 300Mib
Startup memory: 380Mib Avg memory usage: 420Mib When internal cache full: 480Mib
reduce ENGINE_PLUS_GROUPCACHE_MAX_SIZE
(default 60Mib) can help limit the max memory usage.
Use this image as the base image for your Dockerfile: gelmium/graphql-engine-plus:latest
Your pythons scripts should be placed in the following directory: /graphql-engine/scripts
Example:
FROM gelmium/graphql-engine-plus:latest
# copy python scripts to allow the engine to run them
COPY src/scripts /graphql-engine/scripts
# copy hasura metadata schema to allow the engine to auto migrate
COPY src/schema /graphql-engine/schema
# run the migrate cli script and then the server
CMD ["/bin/migrate", "&&", "/bin/server"]
optionaly you can use hasura cli to deploy the schema manually. Then you can end the Dockerfile with CMD ["/bin/server"]
Please read content of src/config.go
to see all environment variables that can be used to configure the graphql engine plus.