系统优化的基本思想点

在尝试对一个系统进行优化的时候,一般分为两个创造性步骤,一个是在脑海中进行构思并创造出思维蓝图,第二个创造在于将蓝图付诸于实践,这里将提供一些第一步中构思蓝图应该考虑的,或者说是应该如何进行思考提供一些建议。

  • 定义性能最优的方法是响应时间,吞吐量是响应时间的一个副产品。
  • 如果无法测量就无法有效地优化,所以性能优化工作需要基于高质量、全方位及完整的响应时间策略。
  • 策略的最佳开始点应该是入口,这里及应用程序,而不是数据库。即使问题出现在底层的数据库,借助良好的测量也是可以很容易地发现问题。
  • 大多数系统无法完整地策略,测量有时候也会有错误的结果。但也可以向办法绕过一些限制,并得到好的结果(但是要能意识到所使用的方法的缺陷喝不确定性在哪里)。
  • 完整的测量会产生大量需求分析的数据,所以需要用到剖析器(分析的工具)。最佳的工具,可以帮助将最重要的问题冒泡到前面,这样就可以决定从哪里开始分析会比较好。
  • 剖析报告是一种汇总信息,掩盖和丢弃了太多的细节。而且它不会告诉你缺少了什么,所以完全依赖剖析报告也是不明智的。
  • 有两种消耗时间的操作:工作或者等待。大部分剖析工具只能测量因为工作而消耗的时间,所以分析有时候是很有用的补充,尤其是当CPU利用率很低但是工资却一致无法完成的时候。
  • 优化和提升是两个方面的事情。当继续提升的成本超过收益的时候,应当停止优化。
  • 注意你的直觉,但应该只根据直觉来知道解决问题的思路,而不是用于确定系统的问题。决策应当尽量基于数据而不是感觉。

总体来说。我认为解决性能问题的方法,首先是澄清问题,并从中找出关键的问题(5% 再怎么优化,带来的收益也只有 5%,而95%则有很大的收益空间),然后选择合适的技术来解答这些问题。

理论上存粹的自顶向下的方法分析和详尽的测量知识理想的情况,而我们常常要处理的是真是系统。真是系统是复杂且无法充分测量的,所以我们只能根据情况尽力而为。虽然我们无法完整地对真实系统进行测量,但是说到底他们都是某种状态机,只要细心,逻辑清晰并且坚持下去,通常来说都能得到想要的结果。要注意的是不要把原因和结果搞混了,而且在确认问题之前也不要随便针对系统做变动。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值