写点什么

百度技术沙龙第 1​8 期回顾:大型网站的性能测试实践及结果分析​(含资料下载)

  • 2011-09-20
  • 本文字数:1709 字

    阅读完需:约 6 分钟

在 9 月 17 日百度主办、InfoQ 策划组织实施的第18 期百度技术沙龙活动上,来自百度质量部高级架构师王磊以及HP 测试工程师, 7 点测试论坛坛主 Zee,分别分享了与大型网站性能测试的相关话题,话题涉及互联网产品性能测试案例及经验分享和企业级系统性能分析实践。本文将对他们各自的分享做下简单的回顾,同时提供相关资料的下载。

主题一:互联网性能测试案例及经验分享视频,MP3 和 Slides 等资料下载

来自百度的高级架构师王磊第一个为大家分享,王磊讲解了四个具体的实例,其中包括测试结果与实际情况不符、OS 对性能测试的影响、网络环境对性能的影响以及不良代码对性能的影响。在每部分的案例讲解中,都将问题进行了重现,首先说明问题表现,其次说明该问题所导致的后果,由如何找到原因再到案例的结论分析等。其中,重点讲解了不良代码对性能的影响部分:​​​​​​

测试对象为一个检索模块,问题为性能表现与预期的相差很大,在分析具体原因时王磊首先讲解了内存分配的原理:

  • 检查要访问的虚拟地址是否合法
  • 查找 / 分配一个物理页
  • 填充物理页内容(读取磁盘)
  • 建立映射关系(虚拟地址到物理地址)
  • 重新执行发生断页中断的那条指令

从代码的角度上来看:

  • 一个请求过来,用 malloc 分配 2MB 内存,请求结束后 free 这块内存
  • 日志显示分配内存语句耗时 10us,平均一条请求处理耗时 1000us

从分析中最后得出结论,性能差的原因是:

  • 内存申请造成缺页中断
  • 因为这种缺页不需要磁盘,所以是 minfit
  • 缺页中断在内核态执行,进程的内核态 CPU 消耗很大

主题二:找出系统性能瓶颈:企业级系统性能分析实践视频,MP3 和Slides 等资料下载

Zee 的演讲主要包含以下几个部分,理解性能测试、性能测试需求的获取和分析、性能测试执行、控制及分析、可用性统计分析、排队论在分析过程中的应用,最后对各种场景的性能问题通过实例进行了分享。在 Zee 的演讲过程中,重点讲述了性能测试执行、控制及分析。Zee 首先带领读者一同梳理了性能问题分析的流程,接着介绍了如何从系统架构来分析瓶颈点,列举了常见的系统故障征兆:

  • 持续运行缓慢
  • 系统性能随时间的增加逐渐下降
  • 系统性能随负载的增加逐渐下降
  • 间发性的系统挂起或异常错误
  • 可预见的死锁
  • 系统突然出现混乱

稍后,Zee 详细列举了系统常见的问题及解决方法,常见问题涉及内存泄漏呈线性增长、内存泄漏呈指数级增长、导致无限循环的编码缺陷、资源泄漏、外部瓶颈、外部系统的过度使用、频繁调用 CPU 密集型组件的编码缺陷、桥接层本身存在的问题、内部资源的过度使用或分配不足、不断重试、线程阻塞点、线程的死锁或活锁、网络饱和等。针对以上“疾病”,分别列举了出现的征兆,分析其原因并提供了相应的解决办法。紧接着,Zee 还对分析性能问题时需要注意的信息进行了讲解,介绍了如何执行针对 SQL 的性能分析,通过图形的形式展现了性能指标和用户数两者之间的关系和影响并通过思维导图的方式将与性能调整有关的议题进行了呈现。

​最后,Zee 针对性能测试中需要注意的一些问题进行了总结:

  • 在正式测试之前进行实验性的测试
  • 不要对生产环境造成不良影响
  • 数据聚集问题
  • 没有及时通知其他相关人员
  • 全面分析测试数据
  • 注意硬件设备对性能的影响
  • 没有确定测试需要采集的数据
  • 没有确定测试的范围和目的
  • 测试时关注系统的出错信息
  • 测试的网络环境不清楚
  • 相关人员没有及时在现场
  • 没有测试一个完整的回路
  • 并发数与发送流量的问题

​​​​会后一些网友在新浪微博分享了他们参会的感受:

@醉梦如烟 _ 燕飞:#百度技术沙龙#王磊、高楼大家本次关于性能测试这块非常不错,让我受益匪浅,希望今后能更多的参与这样的讲座。

@savager :#百度技术沙龙#好地方,前沿技术,多学习。

@陈奎 _ 走行寻:今天的百度技术沙龙性能测试专场,人数出奇的爆满。

@haitao_yao :#百度技术沙龙# 第二场有料,惠普的性能测试跟我遇到的场景类似,没白来,哈哈。

​此外,Zee 在会后的随笔中,记录了参加本期沙龙演讲后的感触,请参阅《Zee 随笔—第十八期InfoQ:百度技术沙龙演讲之后》

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

2011-09-20 17:321798
用户头像

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

关注

评论

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

DeepRec 大规模稀疏模型训练推理引擎

阿里云大数据AI技术

深度学习 推理 稀疏模型 企业号十月 PK 榜

开拓“流程智能蓝海”丨九科信息董事&产品VP傅恺受邀分享流程挖掘实践案例

九科Ninetech

AI RPA 数字化转型 企业服务 流程挖掘

浪潮信息成为龙蜥理事单位,共建开放计算生态和行业方案

OpenAnolis小助手

开源 操作系统 产业链 龙蜥社区 浪潮信息

Plan Stitch:一种使用缝合物理计划解决查询计划性能退化问题的方法

KaiwuDB

数据库 缝合物理计划 计划回退

2022最强Java面试八股文,大厂offer直通车(跳槽天花板就是你)

程序知音

java面试 后端技术 Java面试八股文 Java后端开发 后端架构开发

详解MySQL之事务

C++后台开发

MySQL mysql事务 中间件 后端开发 C++开发

数据工程师吐槽:数据API开发的那些烦心事

雨果

数据api

借助小程序框架打破APP开发壁垒

Geek_99967b

小程序

企业应该如何进行知识管理?

Baklib

知识管理 知识库

读书笔记|妙趣横生的图灵奖获得者漫画

宇宙之一粟

读书笔记 漫画 10月月更 图灵

Spark数据倾斜解决

五分钟学大数据

大数据 spark 10月月更

即将开营|报名获取跨平台与热更新技术操作秘籍!

字节跳动终端技术

flutter 移动开发 插件化 动态化 SDK热更新

2022-10-8

留白的艺术

Java8已经发布7年了,不会还有人没用过CompletableFuture吧

一灯架构

Java java面试 10月月更

初学开发必看:何为Git,何为SVN

华为云开发者联盟

开发 华为云 企业号十月 PK 榜

《软件开发的201个原则》思考:8.与客户/用户沟通

非晓为骁

个人成长 软件工程 软件开发201原则

学会一行CSS即可提升页面滚动性能

茶无味的一天

CSS JavaScript chrome 前端 js

小程序插件其实很简单

Geek_99967b

小程序 小程序插件

小程序该怎么挖掘App流量

Geek_99967b

小程序

这道JS经典面试题不要背,今天带你彻底搞懂它!

茶无味的一天

JavaScript 面试

实践GoF的设计模式:访问者模式

华为云开发者联盟

开发 华为云 企业号十月 PK 榜

Github访问量过百万!阿里内部至尊级分布式事务手册,实至名归!

Geek_0c76c3

Java 数据库 开源 程序员 开发

书单推荐|不惧复工,工作轻松

图灵社区

书单 复工

Dubbo Mesh 总体技术架构方案

阿里巴巴云原生

阿里云 云原生 dubbo

Java 函数式编程

Ayue、

java8

【愚公系列】2022年10月 Go教学课程 022-Go容器之字典

愚公搬代码

10月月更

5 分钟完成 ZooKeeper 数据迁移

阿里巴巴云原生

阿里云 微服务 云原生 MSE

《高性能MySQL 第四版》正式上市

MySQL 数据库

OpenStack第26版Zed已发布

Geek_2d6073

上海锡鼎正式加入openGauss社区

openGauss

书单推荐|不惧复工,工作轻松

图灵教育

书单 复工

百度技术沙龙第1​8期回顾:大型网站的性能测试实践及结果分析​(含资料下载)_InfoQ_贾国清_InfoQ精选文章