版权所有:内蒙古大学图书馆 技术提供:维普资讯• 智图
内蒙古自治区呼和浩特市赛罕区大学西街235号 邮编: 010021
作者单位:华中科技大学
学位级别:硕士
导师姓名:沈刚
授予年度:2018年
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
主 题:全链路压测 压测引擎 SpringBoot框架 Vue框架 Spark框架
摘 要:随着互联网时代的快速发展和服务质量需求的提高,压力测试成为大型活动如双十一等上线前必不可缺的关键步骤。对于日益增长的互联网服务的压力测试需求,传统的压力测试框架受到了极大的挑战,目前业界提出了一种广泛适用的压测测试理念,即全链路压力测试。全链路压力测试是针对实际的业务需求和场景,模拟海量用户请求对整个业务链进行压力测试的过程。为了方便快捷地进行全链路压力测试,本文设计和实现了一个基于Spark和B/S架构的全链路压测系统。首先对全链路压力测试的研究和发展进行了充分的调研,并对系统的用户角色和基本功能进行了需求分析,把系统分为管理控制台、压测引擎和压测服务插件三个模块。管理控制台提供在线管理压测链路和查看压测报告的功能。压测引擎是基于Spark Streaming实时流设计的压测计算框架,用于管理压测任务调度、压力控制和压测结果计算。压测服务插件用于管理多种压测服务方法,将压测服务插件式接入压测引擎。全链路压测系统通过管理控制台启动压测引擎对待压测服务进行压力测试,并将压测结果可视化展现在管理控制台中;同时通过压测服务的插件化方法,可以快速地添加新的压测服务插件到压测系统,旨在提供更多的压力测试服务类型支持。本系统的管理控制台基于B/S模式,使用SpringBoot框架和Vue框架实现微服务化和前后端分离,以降低系统耦合性,获得良好的性能和可扩展性。本系统的压测引擎和压测服务插件基于Spark框架进行实现,支持实时的压测数据计算和存储,以及插件化管理压测服务。该系统已正式上线于爱奇艺的云平台私有云基础服务中,负责数个业务的日常压测工作,取得了良好的口碑和用户反馈。