针对全链路压测场景分析这部分内容,本文为大家介绍一个我负责过的一个案例——市级雪亮工程项目,是有关于安全的一个项目。
本次压测目的是进行三天三夜全链路压测,检测各服务在长期稳定性测试情况下,是否出现服务端内存泄漏或者不稳定波动严重,数据丢失、整个流量的偏移、限流等现象。
当时我通过LoadRunner、Jmeter和Locust这些工具去模拟抓视频,去拍摄摄像头中的人和车。把车牌号、车的颜色、车的类型、车里面的人,分发到各个系统里面去。
然后去定位分析这个人在哪个地方出现,是不是在这个市出现,有没有在某个犯罪的地方出现过,是否违法了,这个人的身份证是否能够调度出来。通过各个系统去进行大数据分析。
整个过程中一直高并发做这个事情,而且在高并发的过程中保证网络设备必须保持在每秒钟30g左右的状态下,数据一直在流转,网络一直在饱和的状态下不能很卡。去模拟高并发的过程中,云存储设备会不会出现崩盘。
在分发到各个系统的过程中,模拟怎样分发落地。前面有一笔数据的新增,后面多笔数据怎样落地。
数据从流程图的最左侧发出去之后,什么时候到达最右侧,我会在脚本中做一个标志,然后把这个数据进行检查,通过几千万笔数据和几亿笔数据去对比,核算出是否会出现数据丢失、丢失率要达到多少、成功率要达到多少才算合格。
这类系统要求比较高,我们连续奋战1个多月才做完,发现了很多硬盘、网络分发、程序、架构上的问题。
包括厂商的一些硬件设备也发现了很多问题,有些硬件设备他们一直以来都在用,没发现过问题。结果却被我们模拟出问题来了,云盘存储过程中坏掉了、崩盘了。它的RAID5、RAID0等磁盘阵列的模式也都崩盘了,一下子量这么大的情况下都撑不住了。
以上就是该案例的一些情况,如果大家对该项目的一些细节感兴趣,可以私信我,做进一步的沟通和交流。后面的文章会为大家介绍全链路测试与传统测试技术差异以及全链路测试的各个环节,环境大家继续关注。