今天我们以生活中常见的秒杀场景为例,后面我们会结合具体项目—某在线开盘系统,来说明高并发性能测试场景的应对措施。 一般秒杀场景主要都会有以下几个特点:大量用户同时进行抢购操作、系统流量激增、服务器瞬时压力很大;请求数量远大于商品库存量、只有少数客户可以成功抢购;业务流程不复杂,核心功能是下订单。

秒杀场景的应对措施,一般要从以下几个方面进行处理,如下:

(1)限流

从客户端层面考虑,限制单个客户抢购频率;服务端层面,加强校验,识别请求是否来源于真实的客户端,并限制请求频率,防止恶意刷单;应用层面,可以使用漏桶算法或令牌桶算法实现应用级限流。

(2)缓存

热点数据都从缓存获得,尽可能减小数据库的访问压力;

(3)异步

客户抢购成功后立即返回响应,之后通过消息队列,异步处理后续步骤,如发短信、更新数据库等,从而缓解服务器峰值压力。

(4)分流

单台服务器肯定无法应对抢购期间大量请求造成的压力,需要集群部署服务器,通过负载均衡共同处理客户端请求,分散压力。

PR作为一款专业的性能测试工具,对于网络平台在线订单秒杀场景已经驾轻就熟了,且在很多项目上已经有应用实例,最高瞬间可达到每秒10W的虚拟并发。