作者 | 张晶
更多干货请关注“eBay技术荟”公众号
背景
ebay有十二万台服务器,机器的检测和维修需要耗费大量人力,而且有些问题单靠人力很难解决,比如稳定性问题的重现,一直是痛点和难点,需要自动化的解决方案。
策略
ebay前后有来自于4个vendor的100多种机型,为了将机型多样性造成的复杂度降到最低,需要用统一的方式来解决问题,包括: 统一的测试流程和统一的测试集。
3. 测试流程的设计
如下图, 整个流程的核心是系统的性能和稳定性测试。
这三个步骤的自动化我们可以通过和jira的整合来解决。通过自动开关,扫描jira ticket状态,可以做到无缝接入。当人工工作完成时,系统会自动验证并继续下一步。
4. 测试集的选用
测试集的作用主要是进行压力测试和产生性能跑分。
5. 结果的存储
如下图所示,我们将从各数据源收集的数据(包括测试工具的跑分和各种日志的扫描结果),以错误类型归类统一存入数据库。错误类型主要以各组件类型定义,并附上机型,厂商,时间等详细信息,以方便查询和统计,也为将来的机器学习积累数据(错误预测,库存预测,错误模式(关键字)自学习)。
6. 错误判定和定位
压测结束后,如果存在稳定性问题,系统就会崩溃或者在各日志文件中留下错误信息,我们可以通过扫描它们来判定和定位硬件问题。错误的定位是个比较繁琐的问题,受机型多样性影响较大。每种机型的定位方式可能会略有不同,需要研究所有的机型来完成百分百的覆盖,下面列出可以总结出的一些共通点:
7. 测试的调度和执行
庞大的测试需求需要我们有一个灵活,高效,稳定的执行框架。具体来说要满足以下三点:
8. 小结
ebay提供了一个很好的平台,让我们能有机会对海量的服务器进行测试、维护和修复。自动化的过程是一种挑战也是一种乐趣,它帮助我们大大提高了工作效率,提升了服务器的健康率,使我们从繁琐的手工重复工作中解放出来,转而投入更进一步的自动化或者数据挖掘的研究,形成了良性循环。在做自动化探索的同时我们也加深了对各种机型、配件、厂商和工具的了解。不断完善的通用统一的测试流程和测试集也为新一代机型的选取和使用做好了准备。
您可能还感兴趣:
Hadoop平台进阶之路 | HDFS NameNode性能优化实践
Hadoop平台进阶之路| 一场PB规模量级的HDFS数据迁移实战
Hadoop平台进阶之路 | eBay Spark测试框架——Woody
从OpenStack到Kubernetes | 如何在大规模产线应用迁移中保证高可用性?
从Druid到ClickHouse | eBay广告平台数据OLAP实战
eBay大量优质职位,等的就是你