论文部分内容阅读
性能测试工具根据测试需求模拟不同规模的负载强度,需要大量的软硬件投入,是典型的资源密集型系统。云计算技术为性能测试提供了新的使用模式,出现了基于云的性能测试在线服务。 基于云的性能测试可以屏蔽软硬件测试资源的管理复杂性,但测试资源的弹性供给和多租户共享仍面临技术挑战。在多租户共享测试资源环境下,满足租户测试任务的资源需求的同时,需要避免租户资源竞争,保障租户性能隔离。由于在线的性能测试服务存在大量的“小、微”规模负载测试需求的“长尾”租户,而传统基于虚拟机的租户隔离技术存在系统开销大的问题,因此需要实现轻量化的多租户测试资源管理。另一方面,测试资源需求与租户提交的测试任务相关,即使是同一测试任务,其负载行为也可能具有时变性,导致测试任务资源需求动态变化。因此,为了实现测试资源的弹性供给、提高资源利用率,需要动态评估测试资源需求。 论文针对性能测试资源管理的轻量化多租户性能隔离和测试资源弹性管理问题,提出基于容器技术的测试资源管理机制。首先,使用Linux容器替换虚拟机管理测试资源池,隔离不同租户测试任务的运行环境,实现了细粒度、轻量化的资源隔离;其次,针对单个测试任务,通过资源消耗的历史数据,建立资源需求预测模型,并在测试执行中,根据测试资源需求的变化,动态创建、回收容器,实现测试资源的弹性供给。 基于论文中提出的资源管理机制,在开源性能测试软件Bench4Q基础上设计与实现,实验结果表明,系统能够准确估算租户所需的测试资源,并实现资源弹性分配,提高了资源利用率。