Fiware Orion性能变化

Fiware Orion性能变化,fiware,fiware-orion,Fiware,Fiware Orion,我需要关于表现的建议 问题是,将完全相同的数据发布到Fiware Orion,唯一的区别是Fiware服务路径会导致时间呈指数级增长。这意味着每一个下一个请求都要比第一个请求花费更多的时间,并继续添加 我的程序读取并解析一些文件,然后将其存储到Fiware Orion中,这取决于文件大小,执行检查和解析最多需要3秒钟。 然后,该数据将被发送到Orion上下文代理 例如: 猎户座的空的和新鲜的实例 这里的测试用例是3000个实体,POST使用批处理操作 由于实体的大小,3000个被切割成更小的尺

我需要关于表现的建议

问题是,将完全相同的数据发布到Fiware Orion,唯一的区别是Fiware服务路径会导致时间呈指数级增长。这意味着每一个下一个请求都要比第一个请求花费更多的时间,并继续添加

我的程序读取并解析一些文件,然后将其存储到Fiware Orion中,这取决于文件大小,执行检查和解析最多需要3秒钟。 然后,该数据将被发送到Orion上下文代理

例如:

  • 猎户座的空的和新鲜的实例
  • 这里的测试用例是3000个实体,POST使用批处理操作
  • 由于实体的大小,3000个被切割成更小的尺寸,并批量发送给猎户座。在这种情况下,我的程序将把它们切成500个大小,然后一个接一个地发送
  • 第一次运行3000个实体,完成操作的时间为7秒
  • 更改服务路径运行相同的时间以完成操作14/15秒
  • 更改服务路径运行相同的3000个实体完成操作的时间为20秒以上
  • 等等
我的Fiware实例正在使用用于Fiware/Mongo的docker compose命令运行:

-dbhost mongo-reqMutexPolicy none-dbPoolSize 100-logLevel none

--nojournal--logappend

我需要关于这方面的建议,因为我没有找到关于这类问题的具体信息(如果我错过了,请告诉我)。对我来说,mongo似乎有点奇怪。或者可能是我犯了一些错误

{ id: "8B56C6",
type: "DepositPoint",
family: { value: "Agent", type: "String", metadata: {} },
serialNumber: { value: "", type: "String", metadata: {} },
refSortingType: { value: "sortingtype:2", type: "String", metadata: {} },
description: { value: "", type: "String", metadata: {} },
refType: { value: "depositpointtype:0", type: "String", metadata: {} },
storedWasteOrigin: { value: "", type: "String", metadata: {} },
location:
{ value: { type: "Point", coordinates: [Array] },
 type: "geo:json" },
address: { value: "", type: "String", metadata: {} },
fillingLevel: { value: 0, type: "Integer" },
cargoWeight: { value: 0, type: "Integer", metadata: { unit: [Object] } },
temperature: { value: 0, type: "Integer", metadata: { unit: [Object] } },
methaneConcentration: { value: 0, type: "Integer", metadata: { unit: [Object] 
} },
regulation: { value: "Municipal association", type: "String", metadata: {} },
responsible: { value: "", type: "String", metadata: {} },
owner: { value: "Txorierri", type: "String", metadata: {} },
dateServiceStarted: { value: "", type: "String", metadata: {} },
dateLastEmptying: { value: "", type: "String", metadata: {} },
nextActuationDeadline: { value: "", type: "String", metadata: {} },
actuationHours: { value: "", type: "String", metadata: {} },
openingHours: { value: "", type: "String", metadata: {} },
dateLastCleaning: { value: "", type: "String", metadata: {} },
nextCleaningDeadline: { value: "", type: "String", metadata: {} },
refDepositPointIsle: { value: "", type: "String", metadata: {} },
status: { value: "ok", type: "String", metadata: {} },
color: { value: "", type: "String", metadata: {} },
image: { value: "", type: "String", metadata: {} },
annotations: { value: "", type: "String", metadata: {} },
areaServed: { value: "", type: "String", metadata: {} },
dateModified: { value: "", type: "String", metadata: {} },
refDevice: { value: "", type: "String", metadata: {} } }

由于同一个问题被无故删除,我重新发布了这篇文章。希望清楚。

我会避免Fiware服务路径,并使用自定义属性对实体进行分组。org定义的一个有趣的属性是areaServed,它可以用于这些目的