【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

百度技术沙龙第 28 期回顾:如何测试你的搜索引擎(含资料下载)

  • 2012-07-16
  • 本文字数:2682 字

    阅读完需:约 9 分钟

在 7 月 14 日由 @百度 主办、 @InfoQ 负责策划组织和实施的第 28 期百度技术沙龙活动上,来自百度高级工程师,线下百度负责人杨进,搜狗搜索事业部测试部经理,搜索测试负责人冯刚分别分享了关于搜索引擎系统的测试方法、常见问题以及相关的案例,话题涉及“大型搜索引擎的系统测试方法及案例分享”,以及“搜索引擎测试常见问题及有趣的缺陷”等。本文将对他们各自的分享做下简单的回顾,同时提供相关资料的下载。

主题一:大型搜索引擎的系统测试方法及案例分享微盘下载讲稿

来自百度高级工程师,线下百度负责人杨进第一个为大家分享,内容主要包括搜索引擎特点和测试挑战、沙盒、线下 PS 以及未来的发展方向这几部分,区别于其他互联网产品,搜索引擎主要充当着互联网入口的角色,无论在从数据和机器规模,还是并发数和响应速度上都有着较大的数量级,同时,这也意味着搜索引擎遇到的网络异常和攻击是其他产品所无法想象的,杨进提到:

系统中隐患爆发的可能性和规模的平方成正比。

早期的搜索引擎测试主要以模块和性能测试为主,遇到的挑战主要集中在以下几点:

  • 上线单
  • 异常处理
  • 多线程、分布式调度
  • 典型、异常数据
  • 相互影响的策略

沙盒一般是线上环境的成比例缩放,主要涉及用例、维护和环境三要素,用例主要包含日志监控、数据排查和监控报表;维护主要是指排队系统、自动部署和系统监控;环境包含模块组成、部署拓扑和数据规模等考量。在使用过程中发现,沙盒同样也遇到了一些困惑,比如在跨子系统接口和沙盒自身稳定性以及基础架构上都遇到了一些挑战,为了解决这一情况,百度推出了一套自己的线下 PS 系统,核心目的是在项目上线前,先进行一次接近生产环境的模拟(预上线),预上线的对象除程序外还包括紧急升级、数据上线、基础架构、OS。其核心测试能力主要体现在以下几点:

  • 环境仿真
    • 搭建完整 PS 系统,并完善对外接口
    • 增加机器规模
    • 线上运维人员使用和运维整个环境
  • 场景驱动
    • 覆盖线上主要场景
    • 测试数据多样化,分成背景随机数据、异常数据、业务监控数据等
    • 注入线上常见故障
  • 监控安全
    • 部署全部线上监控 +QA 系统测试监控和用例

通过这种方式,在半年时间内完成了预上线 722 次,发现问题 150 个,线上问题减少 1/3,新增监控 500 个,监控项多达 3000 多个。最后,杨进还分享了效果监控、业务集成测试等内容,并介绍了质量防护网的组成等内容。

主题二:搜索引擎测试常见问题及有趣的缺陷微盘下载讲稿

搜狗搜索事业部测试部经理,搜索测试负责人冯刚第二个为大家分享,话题主要涉及搜索引擎常见问题(网络连接与容灾、协议容错与兼容、内存使用与线程安全)和有趣 Bug 分享。搜索引擎也同样会遇到内存使用和线程安全的问题:

  • 错误使用
    • 未申请成功就使用
    • 未初始化就使用,缺省值真的不一定为 0
  • 内存泄露
    • 容错分支最易漏
    • 内存碎片
  • 内存越界
    • 静态数组越界
    • 指针移动越界
    • 真的不一定 core
  • 释放了还用
    • Double free
    • Free 后没有将指针置为 NULL,产生野指针
    • Return 了指向“栈内存”的指针或引用,该内存在函数体结束时被自动销毁

在最后,冯刚还分享了一些有趣的 bug:性能测试压力不是越大越好,nagle 算法导致的性能问题,nagle 算法会与 TCP 的延迟确认机制发生冲突,测试前建议使用套接字 TCP_NODELAY 选项关闭 nagle;字符串不能乱做加法,在使用 strcpy 时,字符串错误的被截断后计算 hash,会导致 hash 的 key 严重冲突,由此导致有可能会加出\0;

Open Space(开放式讨论环节)

为了促进参会者与我们每期的嘉宾以及讲师近距离交流,深入探讨在演讲过程中的疑问,本次活动依然设置了 Open ​Space(开放式讨论)环节。除了讲师杨进、冯刚外,《这就是搜索引擎作者》张俊林、一淘网测试架构师公直 _ 黄利,以及乐视网 CTO 曹坤波也参与了小组讨论。在 Open Space 的总结环节,几位话题小组长​分别对讨论的内容进行了总结。

杨进:主要讨论了测试环境的运作机制和监控机制相关的话题。

冯刚:主要讨论了自动化测试的流程、具体分工等问题。

公直 _ 黄利:主要讨论了测试框架、工具和平台的相关话题。重点讨论了为什么要自己开发工具:不适应当前的业务需求、易用性上的考量、学习成本高、需要结合多个工具、功能太全、资金和版权问题、现有工具缺少一些功能、新工具使用调研需要一定成本、技术体系、人员培养和需求、团队的宣传、领导的个人喜爱、兼容性、稳定性、扩展性以及维护成本的考虑。

张俊林:主要讨论了实时搜索和传统搜索的区别、特点以及基于内容和行为分析的算法的一些应用。

曹坤波:主要同大家讨论了从视频上传到搜素以及整个生命周期的管理,还谈到了用户 query 的解析以及后续通过对用户搜索行为的分析,最终提升用户体验的一些技术实践。

会后,一些参会者也通过新浪微博分享了他们的参会感受:​​

@锐刃 -flint :冯老师讲的很实在,经验的积累。

@Build2011 #百度技术沙龙 #杨大侠讲的真好。不仅仅是搜索引擎测试。还包括百度测试的模式。也提到我们服务上线遇到的问题。赞一个。

公直_ 黄利:下次找个机会专门分享下关于测试框架与工具设计吧,今天Open Space 环节时间太短了。发现tcpcopy 的作者 @wangbin579 也在现场就一起拉到我们组讨论了,好巧 。

钱钤#百度技术沙龙# 搜索引擎测试对网络技术知识与数据结构、操作系统等计算机基本功要求较高,有挑战性,再别说测试没有技术含量了。测试工作也可变得有独创性具备想象力。

Hou 金轩#百度技术沙龙#协议的兼容升级确实是个很头痛的问题,但是编码之前确实很难预测到协议的变化,并且也不是对所有的客户端都有时间和精力做到兼容。做搜索引擎可能还好些,毕竟网络协议已经很稳定升级变动不大。不过当然考虑的越全面对用户体验越好了。

淘朱藻:testing in production, 在听百度技术沙龙,这个想法不错。

Smile 薇 __ #百度技术沙龙#第一次参加,果然很好,都是技术牛人,想想我们银行做测试用的工具和思路,真的是比较落后了,不过木有办法,求稳,对银行来说,最稳定的才是最好的。

harry 小淫既天才#百度技术沙龙#冯刚师兄讲的搜索引擎遇到的网络异常让人大开眼界。

腾腾的小菠萝#百度技术沙龙# 事前测试,事中监控,事后总结,多方面立体提高 QA 工作的效率和质量。

lovely 心若冰清 2010 @百度技术沙龙 服务器端与客户端连接状态的重点监控。lr 无可用端口,爆出。查看 tcp 协议状态。

有关百度技术沙龙的更多信息,可以通过新浪微博关注 ** @百度技术沙龙,或者加入百度技术沙龙微群 **,InfoQ 上也总结了过往 26 期所有百度技术沙龙的演讲视频和资料等,感兴趣的读者可以直接浏览阅读

特别提示:第29 期百度技术沙龙将在8 月18 日,北京举行,欢迎关注 @InfoQ @百度技术沙龙 获取后续的活动信息。

2012-07-16 01:043837
用户头像

发布了 156 篇内容, 共 49.7 次阅读, 收获喜欢 7 次。

关注

评论

发布
暂无评论
发现更多内容

D-Night桌研社北京首店12月30日正式开业,学生和新客特价2.5折起

科技热闻

强大的跟踪和动画软件:Boris FX Mocha Pro 2023破解下载

胖墩儿不胖y

Mac软件 动画软件 Mac好用的软件推荐

喜讯!云起无垠获评ISC 2023数字安全创新能力百强双料大奖

云起无垠

冲突管理最佳实践

俞凡

管理 最佳实践 沟通

TiDB是如何在国有大银行实现数据库业务“一换三”的

TiDB 社区干货传送门

7.x 实践

Mac值得推荐SSH终端工具mac securecrt-支持M1/M2

Rose

mac软件下载 SecureCRT下载 SecureCRT Mac破解版 ssh终端工具下载 SecureCRT 安装教程

三掌柜的2023年国产AI体验之路

三掌柜

年终总结 2023 2023年 年度

苹果mac视频下载器:Downie4下载画质的设置方法

Rose

Mac 视频下载工具 Downie4许可证 Downie 4 Mac版 Downie4清晰度设置

恭喜神州数码集团,荣获“TiDB 社区最佳贡献企业”

TiDB 社区干货传送门

作为铭文跨链赛道龙头,SoBit 有何突出之处?

西柚子

解决Mac苹果上运行VMware Fusion虚拟机提示“未找到文件”的方法

Rose

未找到文件 VMware Fusion虚拟机 Mac虚拟机下载 VM激活秘钥

一个 39.3T 的集群从TiDB v3.1.0迁移升级到 TiDB v7.1.2 的实践

TiDB 社区干货传送门

迁移 实践案例 版本升级 大数据场景实践 7.x 实践

AI数字人:满足多行业多场景需求!

青否数字人

数字人

国产化系统中遇到的视频花屏、卡顿以及延迟问题的记录与总结 | 主赛道

1688商品列表数据接口(1688.item_search)丨1688API接口

tbapi

1688API接口 1688商品数据接口 1688商品列表数据接口 关键词搜索1688商品数据

英特尔的2023:以强大执行力推进产品、技术创新

E科讯

Ubunt20.04安装Gramine教程。

百度搜索:蓝易云

Python Linux ubuntu Web Linux云服务器

【行云流水线】满足你对工作流编排的一切幻想~skr

京东科技开发者

为什么美国服务器是业务国际化的首选?深入探讨其关键优势

一只扑棱蛾子

美国服务器

Axure RP授权码 附汉化包下载 兼容M/intel

Rose

Axure RP 9汉化 Axure RP 9授权码 Axure RP 10 汉化版 mac破解软件下载 mac原型设计软件

一篇文章彻底搞懂TiDB集群各种容量计算方式

TiDB 社区干货传送门

监控 管理与运维 TiDB 源码解读 TiKV 源码解读

Python基本操作详解。

百度搜索:蓝易云

Python Linux 运维 Web 云服务器

什么是爬虫,为什么爬虫会导致服务器负载跑满

德迅云安全杨德俊

基于图神经网络的动态物化视图管理

KaiwuDB

KaiwuDB 物化视图管理

传统架构VS云原生:如何更好的选择搭配

膨胀

#技术人的2023总结

面试官:说一下MySQL主从复制的原理?

王磊

Java 面试

TiDB Placement Rule实战总结

TiDB 社区干货传送门

实践案例 6.x 实践 大数据场景实践 7.x 实践

TiDB-Server 常用 API

TiDB 社区干货传送门

管理与运维

HyperDock for mac(Dock优化工具安装) v1.8.0.10永久激活版

mac

苹果mac Windows软件 HyperDock Dock优化软件

【火热报名中】TiDB 社区活动在北京:1月7日(周日)新年围炉茶会,来唠唠嗑,回顾过去一年,展望未来

TiDB 社区干货传送门

赛迪顾问发布最新中国大数据市场报告,腾讯云稳居领导者行列

腾讯云大数据

大数据

百度技术沙龙第28期回顾:如何测试你的搜索引擎(含资料下载)_百度_贾国清_InfoQ精选文章