我正在开展一个旨在将+ 1k设备连接到机器的项目,这可能是自动缩放的。问题是,只有2个连接的设备,IDAS IoTAgent会在几天内以“内存耗尽”结束。信息。 它在AWS m3.medium中具有内存交换的计算机中的docker实例中运行。
另一方面,就我所见,git存储库不再维护,因为自12月16日以来没有提交#39; 这是一个可以推荐的生产通用启动器吗?它是否已经过大量连接设备的测试?这真的没有维护吗?
这是git repo的网址:
https://github.com/telefonicaid/lightweightm2m-iotagent
提前致谢
答案 0 :(得分:2)
对于延迟表示歉心,非常感谢您对Fiware的关注以及我们对此问题的关注。让我逐一回答你的问题:
事实上,该问题与 config.js IotAgent LWM2M中的错误有关。
https://github.com/Fiware/iot.IoTagent-LWM2M/blob/master/docs/deviceProvisioning.md
有效负载格式错误,并返回以下错误:
**op=IoTAgentNGSI.DbConn | msg=No host found for MongoDB driver.**
要解决此问题,您必须创建一个名为:' devicedRegistry'在有效负载 config.js 中,如下所示:
var config = {};
config.lwm2m = {
logLevel: 'DEBUG',
port: 5684,
defaultType: 'Device',
ipProtocol: 'udp4',
serverProtocol: 'udp4
delayedObservationTimeout: 50,
formats: [
{
name: 'application-vnd-oma-lwm2m/text',
value: 1541
},
{
name: 'application-vnd-oma-lwm2m/tlv',
value: 1542
},
{
name: 'application-vnd-oma-lwm2m/json',
value: 1543
},
{
name: 'application-vnd-oma-lwm2m/opaque',
value: 1544
}
],
writeFormat: 'application-vnd-oma-lwm2m/text',
types: [ ]
};
config.ngsi = {
logLevel: 'DEBUG',
contextBroker: {
host: 'localhost',
port: '1026'
},
server: {
port: 4041,
host: 'localhost'
},
deviceRegistry: {
type: 'mongodb'
},
mongodb: {
host:'172.17.0.2',
db: 'iotagentLW2M2M'
},
types: { },
service: 'smartGondor',
subservice: '/gardens',
providerUrl: 'http://localhost:4041',
deviceRegistrationDuration: 'P1M'
};
module.exports = config;
请记住,当LWM2M客户端具有活动属性时,代理会在客户端注册后立即为每个客户端发送一条观察指令。当客户端花费太长时间开始收听时,这可能会导致错误,因为观察请求可能无法达到其命运。
因此,请确保正确使用超时,以便客户端有机会在服务器发送请求之前创建侦听器
其次,这是一个值得推荐的生产通用启动器?绝对没错。它已经过大量连接设备的测试。 我们对您的情况确实感到有点惊讶我们通过质量保证团队得到的结果是,他们评估了物联网代理能够每秒管理多达140个更新,即来自设备的140个请求。我们没有设备数量,因为这些更新可能来自一个或多个设备。对于100个并发线程,它能够平均管理114次更新/秒。如果我们增加并发线程数,则140次更新/秒将成为上限。我希望这会给你一个参考数字。 只是告诉我们您的要求是什么,我们会再回复您的信息。
最后,这实际上是不是维护了吗?不,它不是。目前,该计划
是要使新版本的物联网代理完全符合 FIWARE NGSI v2 。实际上,我猜您已经发现它当前版本仅指 FIWARE NGSI v1 。
此外,很快就会出现新的增强功能。您可能知道Fiware技术的所有发展都是由Fiware开源社区完成的,并且作为任何开源社区,我们都致力于修复错误(如果有的话),并提供增强功能,但这可以根据社区成员的优先级进行。 作为软件基础,我们拥有非常有限的资源,但足够灵活,可以将它们放在我们认为至关重要的事物上(正如您发现的这个错误),但是大量的工作都是由社区完成的。
如果这可以解决您的问题,请告诉我们,我们希望以上所有内容可以帮助您解决问题并了解相关问题。为您服务的人是我们的使命!
亲切的问候!