我正在使用AWS IoT服务。
当设备向MQTT代理发送注册消息时,我有一条规则将其存储在SQS队列中。
将消息添加到队列时,将触发Lambda函数。 Thing
是为设备创建的,其证书已注册。
在执行负载测试时,我观察到一段时间后,AWS MQTT代理未收到传入消息,也未对其进行处理。
我编写了一些在EC2实例上运行的测试客户端,以模拟MQTT客户端。
如果我在一段时间后重新启动测试客户端,我又可以看到消息传到AWS IoT。
我不确定这是MQTT代理的问题还是EC2实例上运行的客户端的问题。
由于AWS IoT的限制,我可以想到可能的问题,
https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_iot
我想知道可能的AWS IoT矩阵是什么,我需要对此进行监视,还是需要配置哪些特定于IoT的警报?
在EC2端可能有问题吗? (可能是每秒网络出字节数,等等)
还有另一种负载测试方案,其中我不进行设备注册,而只是捕获连接或断开连接事件。在这种情况下,我没有发现类似的问题。
答案 0 :(得分:0)
如您所知,AWS IoT有一些限制。
API Transactions per Second
CreateCertificateFromCsr 15
CreateDynamicThingGroup 5
CreateJob 10
CreatePolicy 10
CreatePolicyVersion 10
CreateRoleAlias 10
CreateThing 15
通常,AWS API在运行时会抛出异常。 捕获异常怎么样?
如果要检查EC2网络问题,请使用一些命令(netstat,tcpdump,...)