maxime-rainville / silverstripe-graphql-benchmark
创建伪造的 Graphql schema 以进行性能基准测试
dev-master
2022-03-31 09:23 UTC
Requires
This package is auto-updated.
Last update: 2024-08-29 06:01:54 UTC
README
此模块的目的是创建大型 GraphQL schema 以基准测试 GraphQL v4 的性能。
安装
composer require maxime-rainville/silverstripe-graphql-benchmark
使用方法
运行此命令将创建 schema 和相关的 DataObject。
# The fake schemas are created against this repo. Make sure you remove any pre-existing schema first rm vendor/maxime-rainville/silverstripe-graphql-benchmark/src/Models/*.php rm vendor/maxime-rainville/silverstripe-graphql-benchmark/_config/graphql.yml rm vendor/maxime-rainville/silverstripe-graphql-benchmark/_graphql/* -R sake dev/tasks/MaximeRainville-SilverStripeGraphQLBenchmark-Tasks-SchemaCreatorTask "" flush=all
请参阅 SchemaCreatorTask
中的配置选项。
如果您想将此部署到某处,您需要运行任务并将更改提交到分支。
关于数据
示例数据对象将在 dev/build 时尝试生成一些随机数据和随机关系。
默认情况下,我们将为每个 DataObject 类生成 5 个实例,并将它们随机链接在一起。
默认情况下将生成什么 schema?
默认情况下,模块没有任何 schemas 或 DataObjects。您必须运行任务才能获取一些内容。
默认情况下,任务将生成以下 schemas
- 微型:5 个 DataObjects
- 小型:10 个 DataObjects
- 中型:40 个 DataObjects
- 大型:100 个 DataObjects
- 超大型:250 个 DataObjects
- 巨型:500 个 DataObjects
生成的 DataObject 将包含未版本化的 DataObjects、已版本化的 DataObject 和已版本化未提交的 DataObjects 的混合。比例是 45-45-10。
我可以安装哪些其他分支?
generic
提供了一个通用的设置,应该适用于大多数情况。small-only
仅提供微型和小型 schema。如果您不想构建完整的 500 个 DataObject 巨型 schema,请使用此分支。versioned-all
将向所有 DataObjects 添加 Versioned 扩展。versioned-none
不会将 Versioned 扩展应用于任何 DataObjects。