嵌入式系统压力测试阶段报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式系统压力测试阶段报告
从10月下旬到12月20号,将近2个月的时间,对嵌入式收费系统进行大数据量测试。现将问题说明一下:
一、最初测试一直是在nfs文件系统上运行,经常出错,各种现象都有。后来想到可能是nfs
传输同步的速度跟不上我们生产数据的速度,所以将测试移到tf卡上进行。
二、测试到过车数量4千多的时候出现异常,可能是我们软件的问题(QByteArray double
free),修改后没有再发生。
三、进一步测试发现程序经常在sqlite保存数据时出错,所以将保存数据入库去掉,直接存
成文件。
四、随后的测试经常出现tf卡变成只读。还有Qt本身的组件报错(qtgui,qtcore)。
现在问题大概有以下几个方面:
一、存储介质
目前我们使用的是TF卡。西达提供给我们两批开发板,这两批对于tf卡的挂载效果是不一样的。
第一批,能正确挂载tf卡上的多个分区(fat32,ext2,swap),经过压力测试,数据写入出错的时候,系统还是可以继续运行的。
/dev/mmcblk0p1 on /mnt/yyext type ext2 (rw,relatime,errors=continue)这是挂载状态。errors = continue 决定
第二批,无论是fat32,ext2都挂载成vfat(这批板子都有问题)
/dev/mmcblk0p1 on /mnt/yy type vfat (rw,relatime,errors=remount -o ro)这是挂载状态remount -o ro 决定了tf卡变成只读,系统这时会死掉。
二、程序经常报double free 问题。类似下面:
*** glibc detected *** ./lanetestmp: corrupted double-linked list: 0x002e9030 *** ======= Backtrace: =========
/lib/libc.so.6(+0x70188)[0x41101188]
/lib/libc.so.6(+0x743b4)[0x411053b4]
/lib/libc.so.6(realloc+0xfc)[0x41106e54]
/opt/qt/qt-4.7.2/lib/libQtGui.so.4(+0x17cf68)[0x40334f68]
/opt/qt/qt-4.7.2/lib/libQtGui.so.4(+0x2e5f44)[0x4049df44]
这种问题我们目前没法处理。但在测试中发现关闭libc异常检测,程序能正常运行。今天做了最后一次压力测试。采用了两个方法。
一、在新板子上采用不保存文件,但连接读卡器,测试正常,目前已跑到5000多,证明读卡器借口部分和程序流程部分问题不大。
二、在旧板子上采用保存视频和数据文件,不连读卡器,目前跑到13000多,问题也不大。
所以,现在需要西达提供好用的开发板。才能进一步做批量测试。
目前的问题是如何确保收费数据不丢失,这个可能要换方案,好的tf卡目前我们也没有做测试。这个可能关系到整个系统的成败。其它的例如像视频和图像压缩,现已将他们独立出去,期间会发生问题,但可以随时重启。问题应该不大。(这部分是别人提供的)测试占用了太多时间,下一步重点关注业务流程。
2013.12.23