飞燕SDK MQTT通道压测指南:问题分析与日志解析
需积分: 0 113 浏览量
更新于2024-08-05
收藏 662KB PDF 举报
"飞燕SDK MQTT通道压测指南"
在进行飞燕SDK的MQTT通道压力测试时,确保设备端的日志级别设置为DEBUG,这是为了在可能出现问题时能方便地进行分析。压测应使用模组认证的标准物模型,以保证测试的准确性。至少需要两个设备连接到同一个路由器进行对比压测,这样可以更好地排除网络环境问题,并且建议有一个稳定的陪测设备,用于进一步确认网络状况。
在进行压测时,务必记录完整的日志信息,以便在出现问题后能够进行详细的分析和定位。当发现设备离线或连接中断时,可以采取以下步骤进行问题排查:
1. 检查压测工具的后台,看是否存在设备离线的情况。
2. 在设备端日志中搜索关键词“disconnect”,注意大小写,找出与断开连接相关的日志条目。
3. 分析与disconnect相关的日志信息,通常断开连接有以下三种主要原因:
- 网络异常:查看errno的值,通过errno.h文件或文档提供的错误码内容来分析具体问题。
- MQTTClient未收到心跳回复:如果连续两次以上未收到云端的心跳响应,SDK将自动断开并尝试重连。这可能是由于设备端数据接收异常,如 lwip 层的问题,可能需要厂家进行网络包抓取分析。
- 网络驱动层异常:不同模块制造商的错误日志会有所不同,需要根据模组厂家的具体信息进行分析。
为便于日志分析,可以使用tools文件夹中的log_extract.sh脚本进行日志提取。下面列出了一些常见的errno值及其含义:
- EPERM: 操作不允许
- ENOENT: 没有找到文件或目录
- ESRCH: 没有找到进程
- EINTR: 中断的系统调用
- EIO: 输入/输出错误
- ENXIO: 无此设备或地址
- E2BIG: 参数列表过长
- ENOEXEC: 执行格式错误
- EBADF: 错误的文件编号
- ECHILD: 无子进程
- EAGAIN: 请重试
- EWOULDBLOCK: 与EAGAIN相同,但在某些非阻塞I/O操作中使用
- ENOMEM: 内存不足
- EACCES: 权限被拒绝
- EFAULT: 坏指针
- EBUSY: 资源忙
- EEXIST: 文件已存在
- EXDEV: 文件系统跨设备
这些错误码可以帮助分析在MQTT通道压测过程中遇到的各种问题。通过对日志的深入分析,可以有效地定位和解决设备与服务器之间的通信故障,确保MQTT通道的稳定性和可靠性。
2022-08-03 上传
200 浏览量
2024-04-09 上传
2023-09-02 上传
2024-12-17 上传
2024-07-01 上传
2022-03-30 上传
周林深
- 粉丝: 56
- 资源: 290
最新资源
- example-website:在以下网站发布事件的示例网站
- 学习201
- 电力设备行业:特斯拉产能加速扩建,光伏平价时代方兴未艾.rar
- TechAvailabilityBot
- whoistester WrapEasyMOnkey:查看monkeyrunner 脚本的交互jython 库-开源
- vc游戏编程库的源程序,如A*算法 A星算法 AStar自动寻路算法
- GenomicProcessingPipeline:用于处理“原始”基因组数据的管道(全基因组测序,RNA测序和靶标捕获测序)
- 行业文档-设计装置-一种制备弯曲钢绞线的装置.zip
- config-server-data
- 蓝桥杯嵌入式 mcp4017 iic
- com.tencent.mtt.apkplugin.ipai9875.zip
- kokoa-talk:带有克隆编码(HTML,CSS)
- TaTeTi:TaTeTi多人游戏(进行中)
- 下午
- the-button-clicker:自动按下 reddit 上的“按钮”的 chrome 扩展
- 行业文档-设计装置-一种切纸机的斜刀连动机构.zip