写点什么

百度技术沙龙第 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:322066
用户头像

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

关注

评论

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

关于微软 Edge 浏览器的 Tracking Prevention 特性在 Angular 应用中的影响

汪子熙

JavaScript typescript Web web开发 7月月更

java零基础入门-多态

喵手

Java 7月月更

Python 入门指南之标准库概览

海拥(haiyong.site)

7月月更

大数据环境搭建:​​​​​​​​​​​​​​​​​​​​​Hadoop编译和分布式环境搭建

Lansonli

大数据 hadoop 环境搭建 7月月更

leetcode 455. Assign Cookies 分发饼干(简)

okokabcd

LeetCode 数据结构与算法 贪心算法

揭露数据不一致的利器 —— 实时核对系统

Shopee技术团队

数据分析 后端

LeetCode-119. 杨辉三角II(java)

bug菌

Leet Code 7月月更

java培训如何防止 jar 被反编译

@零度

JAVA开发 jar被反译

JAVA编程规范之命名风格

源字节1号

软件开发

易观分析加入智能投研技术联盟,共促行业数智化发展

易观分析

易观新闻

百家号基于AE的视频渲染技术探索

百度Geek说

视频 视频渲染

告别缺电焦虑!充电桩装上“智慧大脑”

天翼云开发者社区

云主机 云平台

『51单片机』十分钟学会定时器

謓泽

7月月更

大数据培训Spark数据倾斜问题的解决方法

@零度

spark 大数据开发

阿里云第四届全球数据库大赛火热开赛,40万奖金广纳英才

科技热闻

数据库审计和日志审计的三大区别分析

行云管家

数据库 日志 日志审计 数据库审计

内行,阿里大牛离职带出内部“高并发系统设计”学习手册

程序知音

Java 阿里巴巴 程序员 后端 高并发

DNS稳定性建设实战-从主机到k8s

boaker

k8s DNS 成本优化 DNS故障 稳定性保障

ShardingSphere 云上实践:开箱即用的 ShardingSphere-Proxy 集群

SphereEx

数据库 云原生 ShardingSphere

【愚公系列】2022年7月 Go教学课程 010-数据类型之布尔型和字符类型

愚公搬代码

7月月更

国产EDA验证调试工具实现破局 助力芯片设计效率提升

科技热闻

五个核心能力打造普惠金融商业化发展模式

易观分析

普惠金融

Python|分析QQ群聊信息,记录词频并制作词云

AXYZdong

Python 7月月更

数据库审计部署方式有哪些?哪种比较好?

行云管家

数据库 数据库审计 数据库审计部署

想低成本保障软件安全?5大安全任务值得考虑

SEAL安全

安全左移

2022年中国互联网医疗年度盘点

易观分析

互联网医疗

APISIX 如何与 Hydra 集成,搭建集中认证网关助力企业安全

API7.ai 技术团队

云原生 网关 身份验证 APISIX 网关

项目进度管理和风险管理记录

老猎人

TiFlash 面向编译器的自动向量化加速

PingCAP

TiDB

小程序表单组件-1

小恺

7月月更

一招,让停车管理不再难

天翼云开发者社区

数字化 云平台

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