企业云迁移暗藏风险,1人如何扛起性能测试大旗?
小编了解到某家大型社交电商公司在2020年底完成了云迁移的动作,有幸与他们的性能测试负责人张哥(化名)进行了深入交流,为大家带回了一线情报。
1次云迁移,每年可以节省500万的硬件成本投入,做么?
先别急着回答,
企业可以运用云计算技术推动业务创新,
该如何安全高效地进行云迁移呢?
小编了解到某家大型社交电商公司在2020年底完成了云迁移的动作,有幸与他们的性能测试负责人张哥(化名)进行了深入交流,为大家带回了一线情报。出于信息保护,以下我们简称该电商公司为A。
敲定迁移方案,功能测试验证
2020年底,A公司做出了一项重大决策,要将公司业务从阿里云平台迁移至华为云平台。公司现有业务包含上百个应用以及数十PT的数据都要进行迁移,如何安全高效地完成迁移成了大家最关心的问题。若迁移之后业务在云上无法正常开展,那损失将不可估量,所以首先要做的就是敲定迁移方案。为了更好地检验迁移方案的可行性,测试一次肯定是不够的,更不可能直接上生产环境进行测试。A公司测试团队先在华为云上搭建了一套最小单元的测试环境,用来测试不同方案的可行性以及完成华为云的中间件和阿里云中间件的对比验证。
涉及跨云功能测试,测试团队将数据库、redis缓存这些保留在阿里云上,将应用服务先迁移至华为云。业务上需要跨云调用,由于两个云端访问时延较大,响应时间是正常的三倍以上。结果显而易见,先迁服务再迁数据方案是不可行的。
测试团队将所有服务、测试环境的数据同步上去,开始进行整个业务流程的功能测试。测试覆盖了像商品能不能新建活动,能不能正常下单,下完单后订单、资金、客服售后等全场景的流程能否跑通。业务流程正常跑通,功能实现上没有问题,那么接下来要做的就是系统性能测试,验证系统能不能达到高可用性,高稳定性及预期的性能指标。
挑选最优性能测试方案
“我们当时得出的结论是,用跟阿里云同一套应用代码和同一套数据来做压测,方便做数据对比,得到的性能测试结果也是最准确的。”正式开展性能测试前,测试团队针对多种测试方案展开了详细讨论。在这里遇到整个项目中最为
方案一:将阿里云的业务与数据1:1搬迁至华为云,在生产环境直接利用现有数据进行性能压测,完成后只对压测过程产生的测试数据数据进行清理处理。
方案二:同样是将阿里云的业务与数据1:1搬迁至华为云,在生产环境直接利用现有数据进行压测, 不同的是压测数据的清理更加简单粗暴,将数据层的数据库,文件,缓存,消息中间件等全部清理掉,重新全量同步一份。
方案三:第一步依旧是将阿里云的业务与数据1:1搬迁至华为云,然后引入生产环境全链路压测技术,对压测数据做标识,压测过程中对压测数据做隔离,达到压测数据不污染业务数据的效果。
方案被提出和讨论,必定是有其对应的优势和劣势,项目组在做决定前,也做了多次对比和论证。
先看方案一。这个方案的挑战点是

再来看方案二。这个方案虽然也可行,但是这里面有两个问题,一是二次同步后没经过测试仍然存在风险,还是
最后我们来看看方案三。生产环境全链路压测技术的引入使得迁移新云环境性能测试这件事情变得很简单了。在压测前将所有业务的调用链路梳理出来,不用更改业务代码,利用数列科技的探针agent进行生产环境数据隔离,就能放心大胆地在生产环境去做压测,不必担心数据污染问题。
数列的ForceCop数据隔离能力,现在支持数百款中间件,也包括云原生的中间件,能够让生产环境压测数据流入提前配置好的影子缓存,影子消息队列,影子库表里,不用担心影响业务数据。配合流量施压平台,压测控制台,能够在生产环境模拟海量用户进行操作,跑所有业务调用链路,测试结果自然真实可靠。经过综合考量,最终选定方案三进行性能测试,成本投入最少也最为安全。
1个人的生产环境全链路压测实践
基于以上方案的讨论,兼顾A公司人员配置,最终项目组决定,完成性能压测这个光荣的任务就交给了性能测试工程师张哥。
影响着200万商家生意和1500万用户体验的大工程,之前也没有可复制的经验,1个人如何扛起这支大旗?有遇到什么特别棘手的问题吗?在聊到这些问题时,张哥神色轻松。
第一步就是
1个人肯定无法完成所有的工作,
测试工作在张哥的调配下按计划进行,耗时十多天,完成了几轮生产环境全链路压测后,确实发现了不少的问题。

除此之外最让人印象深刻的就是华为云网关负载均衡问题,测试结果显示为曲线。华为云上有3套主ELB和8个子ELB,可是压力永远只会在第1个ELB上,这个ELB打满了才会到第二个ELB上,单台服务器cpu 65%其他服务器15%,负载严重不均衡。
这俩典型的配置和环境问题如果不通过全链路压测是很难找出来的。A公司技术团队联合华为云的驻场工作人员一起根据压测结果进行调试整改,最终成功完成所有性能优化。
经过前面的测试验证之后,就可以放心大胆地开展正式云迁移了。
企业云迁移的趋势不可逆转,现今企业需要考虑的不仅仅是要不要进行云迁移,还要考虑如何安全地进行云迁移。我想已经给出了自己的答案。
如果对全链路压测技术比较感兴趣的,可以加【小树】企业微信,邀您进群交流;如果对文中提到的压测平台感兴趣也可以私聊小树申请产品免费试用哦~
