产品性能 ¶
本章节做产品性能测试,让用户了解产品的性能,我们准备了两个测试。
测试一、产品性能测试。模拟4k设备以1000ms的间隔向服务端发送16kb长度的属性数据,观测2c4g虚拟机cpu以及内存使用率。
测试二、产品的稳定性测试。我们会把设备数量和虚拟机规则都提升一倍,再次观测虚拟机cpu以及内存使用率。
测试前准备 ¶
- 准备1台2C4G虚拟机。
- 在平创建一个产品,并且批量导入4000个设备。
- 编写测试驱动,模拟设备数据并发上报。
测试一、4000台设备数据并发上报。 ¶
过去1个小时CPU的平均使用率为百分之60,内存平均使用率为百分之16!
测试二、8000台设备数据并发上报。 ¶
为了测试产品的稳定性, 让我们把设备数量提升至8000个,并且把实例升级到4c8g,我们再来看一下产品性能表现。
可以从图片看到当设备为8000时,使用4c8g的机器,过去1个小时CPU的平均使用率依然为百分之60,内存平均使用率依然为百分之16。
推荐配置 ¶
平台根据接入设备数量不同,机器配置也应该做相应调整,下面给出对照表供大家参考。
使用SQLite、Leveldb做为存储数据库
设备数量 | 0<设备数<=5000 | 5000<设备数<=10000 | 设备数 > 10000 |
---|---|---|---|
推荐机器配置 | 2c4g | 4c8g | 根据情况调整或联系官方解决 |
磁盘 | 100G ssd磁盘 | 200G ssd磁盘 | 根据情况调整或联系官方解决 |
使用MySQL/PostgreSQL、InfluxDB/TDengine做为存储数据库
设备数量 | 0<设备数<=5000 | 5000<设备数<=10000 | 设备数 > 10000 |
---|---|---|---|
推荐机器配置 | 2c4g | 4c8g | 根据情况调整或联系官方解决 |
建议使用云服务提供的数据库,如果用户自行搭建数据库,请大家根据项目中设备上报数据频率和设备数量自行选择磁盘大小。