IoT Agent LWM2M 内存耗尽和生产环境

IoT Agent LWM2M Memory exhaust and production environment

我正在从事一个旨在将 +1k 设备连接到机器的项目,这可能会自动缩放。问题是只有 2 个连接的设备,IDAS IoTAgent 会在几天内以 "Memory exhaust" 消息结束。 它是 运行 在 AWS m3.medium 机器中的 docker 实例中,具有内存交换。

另一方面,据我所知,git 存储库不再维护,因为自 12 月 16 日以来没有提交。 这是一个值得推荐的用于生产的通用启动器吗?是否针对大量连接设备进行了测试?这真的是停止维护了吗?

这是 git 回购的 url:

https://github.com/telefonicaid/lightweightm2m-iotagent

提前致谢

对于延迟,我们深表歉意,非常感谢您对 Fiware 的关注,并将此问题提请我们注意。让我一一回答你的问题:

事实上,这个问题与 config.js IotAgent LWM2M 中的错误有关。

https://github.com/Fiware/iot.IoTagent-LWM2M/blob/master/docs/deviceProvisioning.md

有效负载格式错误,return出现以下错误:

**op=IoTAgentNGSI.DbConn | msg=No host found for MongoDB driver.**

要解决这个问题,你必须在payload config.js中创建一个名为:'devicedRegistry'的属性,如下所示:

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 客户端具有活动属性时,代理会在客户端注册后立即为每个属性发送一条观察指令。当客户端开始收听的时间太长时,这可能会导致错误,因为观察请求可能无法达到其目标。

因此请确保正确使用超时,让客户端有机会在服务器发送请求之前创建侦听器

其次,这是一个值得推荐的生产通用启动器吗?绝对没错。它已经过大量连接设备的测试。 我们对您的情况感到有点惊讶,实际上我们通过我们的质量保证团队得到的是,他们评估 IoT 代理每秒能够管理多达 140 个更新,即来自设备的 140 个请求。我们不知道设备的数量,因为这些更新可能来自一台或多台设备。对于 100 个并发线程,它平均能够管理 114 updates/sec。如果我们增加并发线程数,140 updates/sec 将是上限。我希望这能给你一个参考图。 请告诉我们您的要求,我们会返回给您更多信息。

最后,这真的停止维护了吗?不,不是。目前,计划
是让新版本的 IoT 代理完全符合 FIWARE NGSI v2。实际上,我猜您已经发现当前版本仅指 FIWARE NGSI v1

此外,新的增强功能即将出现。如您所知,Fiware 技术的所有开发都是由 Fiware 开源社区完成的,作为任何开源社区,我们致力于修复错误(如果有)并提供增强功能,但这取决于社区成员的优先级。 作为 fiware 基金会,我们的资源非常有限,但足够灵活,可以处理我们发现的关键问题(如您发现的这个错误),但大部分工作都是由社区完成的。

如果这能解决您的问题,请告诉我们,我们希望以上所有内容能帮助您解决问题并理解问题所在。为像您这样的人服务是我们的使命!

亲切的问候!