性能优化高手课
尉刚强
资深软件设计咨询顾问
19574 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 31 讲
性能优化高手课
15
15
1.0x
00:00/00:00
登录|注册

01 | 性能建模设计:如何满足软件设计中的性能需求?

你好,我是尉刚强。今天是课程的第一讲,我想先和你一起来学习下基于性能的建模设计方法。
基于性能对软件进行建模和设计的目的呢,其实是为了保证软件产品最终交付的性能,跟一开始的设计预期相匹配。然而,在实际的软件建模和设计过程中,很多人其实都忽视了性能的评估分析,导致生成的软件性能差,被客户频繁投诉,甚至有可能导致产品失败,给公司带来严重的后果。
所以这节课,我们就来看看如何在软件设计阶段做好性能的评估分析,通过一定的方法提前识别出软件设计中潜在的性能问题,并指导优化设计,从而更好地满足软件设计中的性能需求。
学会了这个方法之后,你不仅可以提前获取产品的性能预估表现,还可以用它来指导软硬件资源的选型设计,甚至在一些场景下,如果客户对产品要求的性能目标不合理,你也可以利用这个方法来推动他调整性能目标。
那么具体是什么方法呢?答案就是软件执行模型系统执行模型这两种对系统建模的方法思路。
软件执行模型是一种静态分析模型,一般不需要考虑多用户和资源竞争等动态情况,我们可以用它来分析评估系统的理想响应时间;而系统执行模型则是需要重点考虑多用户、资源竞争等情况的动态分析模型,我们可以利用它来分析和评估系统吞吐量。虽然这两个模型的关注点不同,但我们可以借此识别出软件设计中存在的一些性能问题。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了软件性能建模设计的重要性以及基于性能的建模设计方法。作者首先介绍了软件执行模型和系统执行模型两种对系统建模的方法思路。软件执行模型用于分析系统的理想响应时间,而系统执行模型则需要考虑多用户、资源竞争等动态情况,用于分析系统吞吐量。文章详细介绍了软件执行模型的节点类型和如何利用执行图来评估系统性能。通过一个人工智能对话引擎的案例,作者展示了如何使用执行图分析性能并引导软件设计的过程。此外,文章还介绍了系统执行模型的QNM(Queuing Network Model)建模方法,以及如何使用系统执行模型来分析和评估系统的响应时间。总的来说,本文深入浅出地介绍了软件性能建模设计的方法和重要性,对于软件设计人员具有一定的指导意义。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《性能优化高手课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(12)

  • 最新
  • 精选
  • tongzh
    思考题分析:从文中的QNM分析可以看出,系统的响应时间是和负荷成正比的,在系统负荷超过一定门限(如80%)的时候,响应时间就有可能已经大到不可被用户接受,所以要提前触发扩容,避免用户体验受影响

    作者回复: 赞一个,这个就是我想表达的意思,看来你已经把我在文章中最重要的一个知识点获取到了!

    2021-06-01
    3
  • Arthur
    用QNM模型来进行系统性能的预估,真是学到了👍

    作者回复: 哈哈,希望对你有帮助!

    2021-05-28
    2
  • 黄福超
    思考题:为什么CPU超过一定的门限,就会触发弹性扩容。 我的思考:弹性扩容本身就需要一定的CPU资源,所以需要设置一定的门限,不然CPU100%也没有资源进行弹性的扩容了,简单的例子就是将杯子里面的热水装满了,就不好倒水了,容易烫手,所以将水壶装80%是最好将水倒到另外一个杯子里面。

    作者回复: 你说的有些道理,不过一般负载均衡和弹性控制使用的是在实例资源池之外资源的,所以大概率和弹性实例不在相同的主机上。所以从这个角度来说,弹性扩容门限还有其他一些更加重要的原因。

    2021-05-27
    2
  • 王博
    讲的不错,有收获,赞!

    作者回复: 谢谢

    2021-05-17
    2
  • 没想好
    扩容本身也需要时间,满负荷触发扩容会导致扩容这段时间的数据丢失,所以往前调一点,哪怕在扩容时新来的数据也有地方放

    作者回复: 你说的很有道理,不过我在文章中还想说明的一个原因是,当系统运行实例接近满负荷时,用户感知的一些性能指标就会下降的比较多,所以从优化用户体验的角度也应该提前扩容。

    2021-05-20
    1
  • 落叶之葉
    CPU负荷 在多核心情况下,是平均超80%,还是单核超80%就扩容呢??

    作者回复: 通常按照实例资源的负责,每个实例是可以多核,也可以单核的。

    2021-05-29
  • Peter
    想问下这个执行图的 是用什么工具话的,实际在进行性能优化的时候 是不是最好也像你这种做法 先把图画出来,进行一个优化工作的评估
    2021-08-19
    1
  • 白开水
    这个软件执行图是通用的图吗,怎么画图软件里都找不到
    2023-08-17归属地:北京
  • Survivor
    上面软件执行模型中的 服务时间0.125s,是各个节点的综合值,那各个节点的综合值是预估的还是可以通过工具验证的?
    2023-01-17归属地:江苏
  • 黄永盼
    提一个小错误嘿嘿,CPU核数为1时的利用率U数值不正确,应该是0.625
    2022-03-31
收起评论
显示
设置
留言
12
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部