海量并发往简单点说就是在一瞬间有几百万或者上千万或者上亿的流量涌入;比如说618购物节、春运抢票等等,这些对系统来说都是不小的考验。那我们需要对系统进行动辄海量并发性能测试,有没有好的解决方案呢?

 

海量并发性能测试有什么好的解决方案?

 

1)做减法;

由产品经理或者项目经理根据之前的运营数据规则来依次定义出来各个模块功能的重要性程度,依赖这个排序,在海量并发涌入之后,视具体的流量做取舍,按照重要性从低到高依次停止部分功能的使用;

之后强化核心功能的用户体验,把核心功能请求返回的冗余字段拿掉,把影响体验的细节优化好,把漏洞修复,保证整个核心链路没有任何问题;

最后实战环节动态分配运维的资源,这就是在系统挂掉之前需要做减法。

2)页面一步或者多步限流;

页面限流这个比较好理解,就是对具体的页面进行流量的限制,当流量超过限制的时候,无法使用。 核心链路中的限流都会有对应的开关以及阈值配置,平常可能不会开启限流或者及时开启阈值也会设置的较低(考虑到运维资源的配置) 在大型活动开始前,打开限流开关,由整个团队一据预估峰值流量来配置相关的服务器等资源,根据这些资源计算出来系统能够支撑的阈值上限。

当访问流量达到阈值或者阈值的百分之多少的时候,自动触发限流,系统继续保障限流之前进入的用户完成后续流程,被限流的用户按照进入排队的顺序先后提供服务。 一步或者多步的限流区别就在于在整个流程中需要限流几次,如果瞬时流量特别大,但是资源准备又没那么充分(资源都是钱),可以考虑多步限流。

此外,在活动开始之前可以通过国内专业商业化性能测试工具PerformanceRunner(简称PR),快速部署分布式施压集群,达到10w级的海量并发虚拟用户数,完成对各种操作系统、网络、数据库、中间件的监控和测试整个系统的承受能力。