物联网平台技术文档
技术文档
技术文档
  • 产品管理
  • 设备管理
  • 地图管理
  • 网络组件
  • 协议管理
  • 设备对接

    • TCP服务端
    • UDP服务端
    • MQTT客户端
    • MQTT服务端
    • HTTP服务端
    • WEBSOCKET服务端
    • MODBUS-TCP
    • COAP服务端
  • 规则引擎

    • 数据转发
    • 设备联动
    • 定时任务
    • 告警记录
  • 视频中心

    • 平台配置
    • 视频设备
    • 拉流代理
    • 推流服务
  • 安装部署
  • 接口文档
  • 性能优化
  • 压力测试
  • 联系我们
  • 发布记录

压力测试

测试环境有限,在windows环境下,6核12线程。i5-10400F,16GB内存。
1、测试条件:
  • 不存储设备日志,存储告警、功能下发日志,每秒10000设备消息
  • 创建一个温度告警、并自动下发指令
  • websocket网络组件。
  • 动态温度参数,触发率接近30%
测试结果:成功,CPU平均占用60%,内存只占用2-3G。每秒插入告警和指令下发记录各3000条左右。

PS:CPU占用高是因为已经用了几年了,有点老了,平时使用就有点卡。在一台Linux服务器测试,与windows测试的结果明显不符,但是配置太低,不能处理太高并发,无法作为参考。

2、测试条件:
  • 存储设备日志,每秒2000设备消息
  • websocket网络组件。
测试结果:成功,CPU平均占用20%,内存占用2-3G。每秒插入2000条设备日志。
测试5000条数据时,数据库插入速度不够,和服务器性能有关。会造成消息队列满,数据丢失。但不会影响实时数据和告警,只影响日志记录。
如果一定要高性能并且数据一条不漏插入数据库,可将日志表改成时序数据库或者pgsql超表。后续会针对这一块出方案。
从测试情况来看,程序本身占用内存并不高,瓶颈在于数据库。后续会推出pgsql超表和其他时序数据库版本。

性能优化 联系我们