云梯1跨机房测试整体解决方案
2023-09-11 14:20:54 时间
阅读本文前建议先阅读云梯跨机房方案介绍,了解云梯跨机房项目背景,难点以及解决方案。本文重点介绍下跨机房测试的整体解决方案
功能测试
测试用例管理:http://kelude.taobao.net/testsuites?project_id=12202
数据安全性测试
数据安全简单的说就是不能丢数据,跨机房后集群规模到达近万台,数据存储到达数百PB,如何确保数据安全是一个很大的挑战
在跨机房的情况下,我们通过(Sange、Slive、DFSIO)模拟线上比例的各种混合性操作,通过NN的FSCK, CN的 CrossCheck工具定位异常数据如CORRUPT,一直处于BEING WRITTEN无法关闭的文件,跨机房失败的文件
数据安全性测试里需要考虑的一种重要场景是NN和DN重启,在实际的升级过程中,在集群重启前各业务线并没有停止读写数据,重启后数据的一致性和可恢复性非常重要;在实际的跨机房测试中我们曾发现一个因为重启后状态不一致导致无法加载EDITLOG从而使NN无法启动的BUG,如果这种问题发生到线上,后果不堪设想
性能测试
性能测试的关键点是如何建立性能基准,对线上性能进行准确评估,跨机房测试性能基准工具主要包括:
DFSIO: HDFS I/O(读写) 性能基准
Slive: 主要模拟线上各种RPC,在每个TASK发起混合型RPC操作,并可以指定文件和block大小,该工具可以同时测试NN和DN的性能;
Sange: 主要模拟线上各种RPC操作压力,在每个TASK启动大量Thread进行混合性RPC操作 ,对NN产生压力,进而评估NN RPC 处理能力;SANGE工具不能指定文件和Block大小,会产生大量小文件,比SLIVE对NN可以产生更大的RPC压力
Terasort:MapReduce 数据排序能力基准
Gridmix :Gridmix和Rumen结合可以模拟和生产作业相应的负载,更真实的模拟生产环境
SmallJobBench:通过创建大量sleep job到不同group来测试jobtracker性能
SubmitJobBench:通过每个map启动(-nThreads)个线程,每个线程顺序提交(-nTasks)个作业, 每个线程有自己的独立账号,来模拟线上多账号并行度2K情况下JTProxy性能
跨机房性能主要对比场景:
主要针对上述场景进行性能对比和评估包括NN带宽,内存,CPU load, NN RPC 指标, NN 各个operation的吞吐量(opsper second)和平均执行时间, NN同步editlog性能指标,跨机房带宽流量,跨机房复制速率,跨机房副本删除速率,CROSSFSCK时间
跨机房测试还有很重要的一点是要保证计算一定优先从本机房读数据,除非本机房没有数据才会跨机房读;实际测试中TERASORT跨机房读对比本机房读性能会有32%左右的下降,而且对带宽也是很大的浪费。
重要性能指标参考:
压力测试和性能测试关系紧密,压力测试更侧重于在线上最大压力的情况下系统是否可以正常工作,性能测试则侧重于新上线的版本是否有性能下降问题,主要是基于基准进行性能对比 压力测试比较难的一点是如何在小规模的测试集群模拟线上真实的压力,基本思路是 启动MR程序, 每个Task启动多个Thread,在每个thread进行大量模拟操作,NN和DN压力测试我们可以用到SANGE和Slive,JTPROXY压力测试可以用到SubmitJobBench,JT压力测试可以用到SmallJobBench和GurgleClient(TaskTracker模拟器) 跨机房压力测试主要是评估crossnode的自身压力和crossnode对namenode、datanode的压力影响;crossnode对namenode压力主要体现在RPC的请求,对datanode的压力目前主要体现在带宽和磁盘上 数据准备:利用SLIVE工具产生跟线上一样数量的Block和文件数 跨机房压力主要场景: 稳定性测试 构建BI仿真实验室,模拟整个云梯跨机房项目变更流程,运行BI线一日的作业,查看作业运行情况和做数据产出对比,验证跨机房后数据的正确性和业务线运行时间是否受影响 整个项目过程中,测试人员共发现有效bug 100多个,其中5个bug严重影响性能,10个bug可能导致丢数据,4个bug会导致服务不可用 本文主要是跨机房的测试整体介绍,整个跨机房测试是一个非常复杂的过程,可能大家觉得不是很过瘾,后续会进行跨机房测试经典BUG和工具分享,敬请期待 最新内容请见作者的GitHub页:http://qaseven.github.io/
A公司与B公司xx项目互通测试解决方案模板 本次互通测试中,A公司提供政务云平台解决方案中的服务器、存储、网络设备和云操作系统及云平台等软硬件,B公司提供XX项目平台应用软件,将B公司XX项目平台部署在A公司云平台,双方联合进行XX项目平台云化的功能验证。测试中重点关注A公司云平台与B公司XX项目平台的功能对接融合。
开发改了接口,经常忘通知测试,有什么好的解决方案吗? 不知道大家有没有同感,做接口测试麻烦的不是测试本身,而是接口它会变,更麻烦的不是接口变了,而是它变了而你不知道。等到你测完,开发才悠悠跟你说——“那个接口我改了点东西,你再看一眼哈”。
共建全栈国产化解决方案 | OceanBase持续与合作伙伴推进测试互认 OceanBase 100%自主研发,连续8年稳定支撑双11,创新推出“三地五中心”城市级容灾新标准,是全球唯一在TPC-C和TPC-H测试上都刷新了世界纪录的国产原生分布式数据库,具备高可用、高扩展、高兼容、易管理、部署灵活、高性价比等特点 ,已助力200+行业客户实现核心系统升级
重要性能指标参考:
压力测试和性能测试关系紧密,压力测试更侧重于在线上最大压力的情况下系统是否可以正常工作,性能测试则侧重于新上线的版本是否有性能下降问题,主要是基于基准进行性能对比 压力测试比较难的一点是如何在小规模的测试集群模拟线上真实的压力,基本思路是 启动MR程序, 每个Task启动多个Thread,在每个thread进行大量模拟操作,NN和DN压力测试我们可以用到SANGE和Slive,JTPROXY压力测试可以用到SubmitJobBench,JT压力测试可以用到SmallJobBench和GurgleClient(TaskTracker模拟器) 跨机房压力测试主要是评估crossnode的自身压力和crossnode对namenode、datanode的压力影响;crossnode对namenode压力主要体现在RPC的请求,对datanode的压力目前主要体现在带宽和磁盘上 数据准备:利用SLIVE工具产生跟线上一样数量的Block和文件数 跨机房压力主要场景: 稳定性测试 构建BI仿真实验室,模拟整个云梯跨机房项目变更流程,运行BI线一日的作业,查看作业运行情况和做数据产出对比,验证跨机房后数据的正确性和业务线运行时间是否受影响 整个项目过程中,测试人员共发现有效bug 100多个,其中5个bug严重影响性能,10个bug可能导致丢数据,4个bug会导致服务不可用 本文主要是跨机房的测试整体介绍,整个跨机房测试是一个非常复杂的过程,可能大家觉得不是很过瘾,后续会进行跨机房测试经典BUG和工具分享,敬请期待 最新内容请见作者的GitHub页:http://qaseven.github.io/
A公司与B公司xx项目互通测试解决方案模板 本次互通测试中,A公司提供政务云平台解决方案中的服务器、存储、网络设备和云操作系统及云平台等软硬件,B公司提供XX项目平台应用软件,将B公司XX项目平台部署在A公司云平台,双方联合进行XX项目平台云化的功能验证。测试中重点关注A公司云平台与B公司XX项目平台的功能对接融合。
开发改了接口,经常忘通知测试,有什么好的解决方案吗? 不知道大家有没有同感,做接口测试麻烦的不是测试本身,而是接口它会变,更麻烦的不是接口变了,而是它变了而你不知道。等到你测完,开发才悠悠跟你说——“那个接口我改了点东西,你再看一眼哈”。
共建全栈国产化解决方案 | OceanBase持续与合作伙伴推进测试互认 OceanBase 100%自主研发,连续8年稳定支撑双11,创新推出“三地五中心”城市级容灾新标准,是全球唯一在TPC-C和TPC-H测试上都刷新了世界纪录的国产原生分布式数据库,具备高可用、高扩展、高兼容、易管理、部署灵活、高性价比等特点 ,已助力200+行业客户实现核心系统升级
相关文章
- 【测试面试题】页面很卡的原因分析及解决方案
- 技术分享 | app自动化测试(Android)-- 属性获取与断言
- APP 测试策略及常见问题解答
- 测试在MicroPython中对于main.py进行修改
- 【自动化测试】web自动化测试验证码如何测?如何处理验证码问题?解决方案......
- 全网最火爆,Python接口自动化测试-接口依赖处理解决方案(超详细)
- 爆g肝整理,web自动化测试常见问题+解决方案,问题看这一篇就够了
- 测试开发程序员,你为何而工作?打工,这辈子是不可能的......
- 软件测试之“支付功能”测试
- 微信开发 - 第三方网站接入微信登录、微信支付时,本地 redirect_uri 参数错误导致无法调试的解决方案(微信开放平台)完美解决每次都需要部署到线上测试,在本地使用本地 ip 就能轻松调试
- 5年高级测试工程师,还不会用Pytest+Allure实现自动化用例失败截图
- Selenium自动化测试框架常见异常分析及解决方法
- 《精通自动化测试框架设计》—第2章 2.4节使用XML文件
- 《Android 应用测试指南》——第1章,第1.3节为什么要测试、测什么、如何测、何时测试
- Storm自带测试案例的运行
- JMeter学习-022-JMeter 分布式测试(性能测试大并发、远程启动解决方案)
- Jmeter性能测试实战之java.net.BindException: Address already in use报错解决方案
- 《LoadRunner性能测试巧匠训练营》——3.4 本章小结
- 敏捷开发和测试中重现缺陷和验证缺陷的解决方案(1)
- Viavi ECOC2016展示高速光网络测试解决方案
- xhprof查看性能测试图一直报错:failed to execute cmd: " dot -Tpng"多种因素解决方案