关键功能需要拷机测试,比如ota升级需要反复拷机测试。

关键物料需要拷机测试,比如替换flash,sensor之类的。

尽早装整机测试,单板测试容易忽略比较隐蔽的问题,比如某个设备单板测试正常,装整机后,使用充电小板进行供电,充电小板和单板之间有一段40cm左右的导线,这段导线会产生约0.2V左右的压降,导致设备原有的基于电池电压采样的电量估计算法出现巨大误差,只有重新设计硬件才能修正该问题。

墨菲定律:研发测试阶段任何悬而未决的异常,哪怕只出现过一次,在量产后都极有可能批量复现,比如测试阶段偶尔内存错误问题,异常断电导致写文件出错问题。(DSM升级事件)

关于配置文件,一般有以下几类:

  1. 烧片程序默认配置
  2. 出厂产测配置
  3. 用户当前配置
  4. 用户配置备份

最近在优化,运营商项目wifi卡顿问题,发现有个普遍的问题,/proc/sys/net/ipv4/tcp_wmem的默认值只有16KB,而tcp_rmem有85K多。这样配置不合理,适用常见的播放或浏览为主的场景。监控场景,应该前面那个tcp_wmem要大,后面tcp_rmem可以改小。这两个参数是TCP连接的窗口大小,虽然运行时会动态调整,但默认值决定了连接开始数据的流畅性,等缓存不够,再动态调整的话,可能就会卡顿了。运营商那边测试出来,偶尔APP预览卡顿,尤其刚登录时,不如竞品,听说修改了这个tcp_wmem,暂时没有测试出来了。
直接修改内核参数tcp_wmem,可能会导致内存消耗明显变大,因为每个TCP连接创建时都按默认值设置窗口,内存不紧张的话,直接修改就好了。如果内存紧张的话,可以tcp_rmem和tcp_wmem均衡一下。还可以针对个别TCP连接,适当调整窗口。

目前默认值:
/proc/sys/net/ipv4/tcp_wmem为:4096 16384 258048
 /proc/sys/net/ipv4/tcp_rmem为:4096 87380 258048
分别为:<最小值> <默认值> <最大值>

运营商那边产品空闲内存很多,就直接在rcS中加了一行,类似如下:
echo 16384 87380 258048  > /proc/sys/net/ipv4/tcp_wmem
其中第三个参数,运营商那边产品比258048大,有460多KB。
内存紧张的话,把 /proc/sys/net/ipv4/tcp_rmem类似调小一点,均衡一下。

  • 无标签