protectione055 / vulcandb-benchmark

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

VulcanDB-Benchmark

1. 测试简介

如何选择适合自己业务需求的BIM数据库?除了比较各自的功能矩阵外,基准测试(benchmark)便是用来评估系统性能的一个重要和常见的方法。

该Benchmark希望能为BIM领域的数据管理平台提供一个统一的基准测试框架,以便于开发人员和领域研究者能够更好地评估BIM数据库的能力(数据导入、查询、管理、分析、导出、运行性能)。

本测试的主要目的并不是为了评判某个数据库的优劣,而是为了帮助开发人员和研究者更好地了解数据库的能力,以便于更好地选择数据库或者对数据库进行改进。

基准测试将从以下几个方面考察BIM数据库的能力:

  • 行业标准支持能力:是否支持标准的数据格式、数据模型、数据交换协议等。数据经过导入后是否能够被正确解析,是否能够被正确导出。
  • 数据库功能:是否支持数据校验、查询、修改、分析等,检验数据和结果的正确性能否保证,是否提供访问数据的接口。
  • 运行性能:测试导入/导出、查询、修改等操作的响应时间和吞吐量,以及对数据量的扩展性。
  • 可扩展性:是否支持插件机制,是否支持不同数据格式之间的转换等。

1.1 测试内容

测试假设数据管理平台是一个中心化的平台,即所有的数据都存储在一个中心化的数据库中,平台提供了对数据的访问接口,用户可以通过接口对数据进行操作。测试流程分为场景模拟(Task 1-4)和性能测试(Task 5)两个部分。场景模拟部分主要测试平台的数据管理能力,性能测试部分主要测试平台的运行性能。

在设计测试用例的时候,我们收集了BIM全生命周期中各个阶段涉及到的不同应用场景,将其分为以下四个任务:

  • Task 1 - 概念设计阶段:对模型数据进行几何模型创建和任意语义信息编辑,测试数据库写入功能;
  • Task 2 - 详细设计阶段:对模型数据进行校验并导出,测试数据库的模型的查询和导出功能。
  • Task 3 - 施工建造阶段:对项目进行工程造价估算,测试数据库对计算的支持。
  • Task 4 - 运维阶段:模拟运维过程中的设备管理,查找故障设备,以及设备维修、更换等。
  • Task 5 - 性能测试:性能测试的目标是测试数据库在不同负载下的运行性能,包括响应时间和吞吐量。

2. 环境配置

pip install -r requirements.txt

About


Languages

Language:Python 87.9%Language:PLpgSQL 12.1%