领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 贾国清 发布于 2011年9月20日
在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期所有百度技术沙龙的演讲视频和资料等,感兴趣的读者可以直接浏览阅读。
贾国清 是InfoQ中文站高级策划编辑,热爱生活,喜欢旅游和体育运动。
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
论道WP第三篇专栏,以应用程序栏的使用为中心,包括了软键盘带来的问题、应用程序栏介绍、如何绑定应用程序栏的属性等几个方面的具体话题,为开发者顺利使用应用程序栏开发提供了具体指导。
在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,有些情况下它并不那么重了,本文详细介绍了Java SE1.6中对于锁的性能优化,以及锁的存储结构及升级过程。
本次分享将首先介绍现代富文本编辑器的组成和实现,然后结合UEditor的开发过程,与参会者分享UEditor在设计和实现的过程中,所涉及到的核心功能的细节实现。
本次演讲视频录制于百度技术沙龙。
我们所开发的应用程序大多都需要提供一个图形用户界面(GUI)。关于GUI应用的架构设计,已经有了Form & Control、MVC,、MVP、 Passive View等多种模式。模式可以帮助我们建立优雅的架构,但前提是弄清楚模式的应用场景。弄清楚GUI应用面临的设计上的问题,有助于我们正确的挑选设计方案。
MongoDB是一种非常易用的NoSQL方案,Brian C. Dilley在这篇文章里介绍了MongoDB的优劣势,并介绍了MJORM项目。MJORM用于MongoDB,是一个没有注解的Java ORM库。
随着网络基础设施的逐步成熟,从RPC进化到Web Service,并在业界开始普遍推行SOA,再到后来的RESTful平台以及云计算中的PaaS与SaaS概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
没有回复
关注此讨论 回复