新書推薦:
《
微观经济学(第三版)【2024诺贝尔经济学奖获奖者作品】
》
售價:NT$
709.0
《
Python贝叶斯深度学习
》
售價:NT$
407.0
《
文本的密码:社会语境中的宋代文学
》
售價:NT$
306.0
《
启微·狂骉年代:西洋赛马在中国
》
售價:NT$
357.0
《
有趣的中国古建筑
》
售價:NT$
305.0
《
十一年夏至
》
售價:NT$
347.0
《
如何打造成功的商业赛事
》
售價:NT$
407.0
《
万千教育学前·透视学前儿童的发展:解析幼儿教师常问的那些问题
》
售價:NT$
265.0
|
編輯推薦: |
作者用讲故事的方式教大家如何改进系统,无论是处理计算机软件还是面对日常生活中的某些流程。他不仅教大家性能优化方面的技能,还引导大家使用新的思维方式,帮助大家成为更稳定、更自信的优化专家。
|
內容簡介: |
运行速度慢的系统常常令人沮丧。它们会浪费用户的时间和金钱,甚至可能会扼杀项目,危及相关从业人员的职业生涯。本书主要面向那些对计算机程序和其他程序消耗时间情况以及改进这种情况的方法感兴趣的人,作者以一种清晰且值得思考的方式解释了为什么系统会这样运行,并融合亲身经历,用讲故事的方式分享了自己作为程序性能咨询顾问的经验,教大家如何改进系统。他不仅教读者性能优化方面的技能,还引导读者使用新的思维方式,更稳定、更自信地进行优化。
|
關於作者: |
卡里·米尔萨普(Cary Millsap)是Method R公司创始人,该公司为很多知名的企业提供服务,创建了世界上第一个用于管理、挖掘和处理成千上万个Oracle跟踪文件的软件系统。20世纪90年代,他曾在Oracle公司担任系统性能组的副总裁。他是Oak Table Network的创始成员之一。
|
目錄:
|
目录
序
前言
第一部分 关注目标
第1章 鲍勃 / 9
第2章 菲莉丝 / 11
第3章 正确的目标 / 13
第4章 南希 / 14
第5章 关注正确的目标 / 19
第6章 当无法关注目标时 / 21
第二部分 方法
第7章 四十九条申诉 / 25
第8章 发货标签问题 / 27
第9章 更多申诉 / 29
第10章 优先级 / 31
第11章 整个系统都很慢 / 33
第12章 间接收益 / 34
第13章 银弹 / 37
第14章 清单 / 38
第15章 R方法 / 40
第三部分 剖析
第16章 薪资系统 / 43
第17章 序列图 / 47
第18章 甘特图 / 49
第19章 跟踪 / 51
第20章 剖析表 / 53
第21章 创建剖析表 / 55
第四部分 衡量性能
第22章 性能是一种特性 / 59
第23章 可重复测试用例 / 61
第24章 间歇性问题 / 63
第25章 跟踪范围 / 65
第26章 识别体验 / 68
第27章 测量入侵 / 69
第五部分 优化
第28章 谜语 / 73
第29章 游戏 / 76
第30章 事件计数 / 78
第31章 事件持续时间 / 80
第32章 过滤前置 / 83
第33章 向左看 / 85
第34章 托-米尔萨普定律 / 87
第35章 瓶颈 / 88
第36章 警惕“系统瓶颈” / 90
第37章 优化子系统的问题 / 91
第38章 每个问题都是偏态问题 / 94
第39章 关键路径 / 98
第六部分 延迟
第40章 凯文 / 103
第41章 排队延迟 / 107
第42章 排队论 / 108
第43章 双曲线 / 110
第44章 流量强度 / 112
第45章 利用率 / 113
第46章 双曲线杠杆 / 114
第47章 一致性延迟 / 115
第48章 延迟和吞吐量 / 117
第七部分 浪费
第49章 黛布拉 / 121
第50章 斜坡 / 123
第51章 玛莎 / 126
第52章 高效 / 130
第53章 修复低效,还是供给低效 / 131
第54章 雪怪 / 133
第55章 快速与高效 / 135
第56章 可扩展性 / 136
第八部分 解决问题
第57章 四个简单问题 / 141
第58章 到达数据尽头 / 143
第59章 高管反馈环 / 145
第60章 附带损害 / 146
第61章 过犹不及 / 148
第62章 道格 / 150
第63章 何时完成 / 152
第九部分 预测
第64章 理查德 / 157
第65章 为什么需要预测 / 161
第66章 利用剖析表进行预测 / 162
第67章 对“做还是不做”决策的预测 / 163
第68章 线性行为 / 164
第69章 偏态 / 165
第70章 事件相互依赖 / 167
第71章 非线性行为 / 168
第十部分 延迟隐藏
第72章 妈妈 / 173
第73章 多米尼克 / 176
第74章 并行化 / 178
第75章 如何让系统崩溃 / 180
第76章 多任务处理 / 182
第77章 人类的多任务处理 / 184
第十一部分 谬误
第78章 邪恶精灵 / 187
第79章 皮夹克 / 188
第80章 被隐藏的异常值 / 189
第81章 当心许下的愿望 / 190
第82章 百分位规格 / 192
第83章 命中率问题 / 194
第84章 mpg问题 / 197
第85章 比率把戏 / 198
第86章 吞吐量和响应时间 / 200
第87章 比率没有用吗 / 201
第88章 何时比率可靠 / 202
第89章 描述性能改进 / 203
第90章 “加快n倍”的神话 / 205
第十二部分 测试
第91章 为什么要测试 / 211
第92章 风险 / 213
第93章 破坏性测试 / 214
第94章 测试并非一个阶段 / 216
第95章 自动化测试 / 218
第96章 预防问题 / 219
第十三部分 规划
第97章 厄特利夫人 / 223
第98章 容量规划 / 224
第99章 利用率目标 / 226
第100章 何时升级 / 228
第十四部分 政治
第101章 证明 / 233
第102章 少承诺的问题 / 235
第103章 七个项目风险放大器 / 236
第104章 快速失败 / 239
第105章 面子 / 242
第106章 珠宝商的方法 / 244
第107章 变更控制 / 246
第108章 记录保存 / 247
第109章 失败 / 249
第110章 要紧张,但别焦虑 / 251
第十五部分 收获乐趣
第111章 帮孩子们做优化 / 255
术语表 / 258
参考文献 / 263
|
內容試閱:
|
序
卡里早就该写这本书了。25 年来,他一直在教授并实践书中的内容。这本书我已 经读了好几遍,我想你一定会喜欢的。这是一本可以改变你生活的书。我之所以 这样确信,是因为书中阐明的那些原则已经改变了我的生活。我拥有 18 年的领先 优势,因为卡里在 2003 年与杰夫 ·霍尔特(Jeff Holt)合著的《 Oracle 性能优化》 (Optimizing Oracle Performance)一书的本质正是这本书的精髓所在,即一个名为“ R 方法”的方法。
R方法改变了我的生活。它是我职业生涯的基础。在了解它之前,我已经学习并运 用了作为一名数据库管理员应该掌握的所有“常规”技巧、窍门、工具和技术。我 取得了一定的成功,但得到的结果并不一致,而且一切似乎都非常复杂且困难。R 方法几乎立刻颠覆了我对于优化的想法。一切都变得清晰而简单。
R方法不仅仅局限于Oracle的应用范畴之内。使用R方法,我可以清楚地看到,针对改进目标需要收集哪些相关信息。我可以看到去哪里寻找性能问题的根本原因, 以及如何解决这些问题。不过,最棒的一点是,我能够向别人解释我在做什么以及 为什么这样做。我觉得这是特别有成就感的。而我之所以能做到这一点,就是因为通过R方法,我不是在猜测——而是确切地知晓。
事实证明,很多人的确看到了R方法在Oracle之外的适用性,尽管2003年的那本书确实是一本关于Oracle的书,但这本书不是,这本书针对的是需要做决策的人。不仅仅是Oracle公司的人,甚至不仅仅是长时间进行批处理任务的信息技术人员,还包括任何需要做饭或带孩子参加体育活动的人——任何想要更快速、更优秀或更 优雅地做事情的人。这些原则在任何地方都适用。在第一次开始将R方法应用于我的生活时,我记得当时我在想:“它真的这么简单吗?”答案是肯定的!
这是一本令人愉快的书。卡里不仅是一位业务娴熟的专业人士,还是一位天赋卓绝的故事讲述者。他会是你所遇到的非常出色的演讲者之一(无论是否从技术层面 看),这一点在这本书中得到了显著体现。看到他非常轻松地用平实的英语解释这 些让众人望而却步的话题,既让人心满意足,又令人耳目一新。这些故事几乎涉及每个人的经历,无论他们是否从事IT行业。在这本书中,我想你会发现至少有一些故事会让你感同身受。
吸引你的是故事,但真正改变你的是故事中的道理。在这本书中,你将了解到“正 确观察正在发生的事情”这一简单的行为如何使世界上的一切变得完全不同;你将学习如何自信且一致地去识别、查看、框定、分析并解决性能问题;你将学习如何 将同事的情绪作为一种积极的力量;你将了解如何更好地进行测试,从而避免问题 的出现,而不是等到以后直面问题;你将学习如何找到确凿的证据来确定是否有可 能做进一步改进。你将从这本书中找到所有答案。
你可以将这本书作为一本教科书,也可以将其看作一本能够随意翻阅的参考书。我认为这本书可以帮助很多像你一样的人,为这个世界做出积极的贡献。
——古德蒙达尔 · 约塞普松 2021年 2月于冰岛科帕沃古尔
前言
让事情变得更快是为了让事情变得更好,从而让生活变得更美好。如果工具能够工 作得更快,我们就有更多的时间去做自己想做的事情。如果这些工具是帮助我们处理信息的,那么它们工作得越快,我们就可以越好地做出决策。
无论是对计算机、犁头进行优化,还是对两者之外的其他东西进行优化,都需要两 项独立的技能:一是提出正确的问题;二是回答这些问题。大多数思考优化的人都 很了解第二项技能,但似乎很少有人意识到第一项技能。然而,第一项技能——提出正确问题的行为——才是我们需要首先培养的技能,尤其是作为一名领导者。大家可能会惊讶于自己竟然能如此迅速地学会它。
不过,还有一个问题。教学时,我们提出的问题很简单。但所有遇到过好奇孩子的人都知道,简单的问题并不总是容易回答的。例如,管理公司计算机的人可能确切地知道在某个特定的星期五下午2点钟系统的CPU利用率是多少,但他们可能无法回答店员输入一份订单需要多长时间。他们给出的答案和我们想要提出的问题之间存在着错配。这种错配本身就隐藏着让事情变得更快的机会。我会教大家如何找 到这些机会。
优化通常更具政治性,而非技术性。奇怪的是,关于优化的书籍几乎都是技术性的。技术人员很容易认为项目中的非技术因素是不必要的,甚至可能是荒谬的干扰 因素。但事实是,优化的非技术方面也需要人们去理解和投入精力,就如同技术方 面一样。为了优化某些内容, 除了要在技术上富有成效外,有时候还必须面对恐慌 和恐惧所产生的“怪物”。良好的成功业绩记录将帮助我们在关于下一步该做什么的辩论中赢得胜利,但如果不发挥一些政治智慧,我们就永远无法创造出这样的业绩记录。
我写这本书的目的是帮助大家提高这两项技能:从政治和技术层面提问和回答。潜在的回报是巨大的。当我们既了解性能的科学,又了解如何驾驭关注性能的人的欲 望和情感的艺术时,我们就可以优化任何事情。
|
|