快人一步:系統(tǒng)性能提高之道 [美]卡里·米爾薩普
定 價(jià):99 元
- 作者:[美]卡里·米爾薩普(Cary Millsap)
- 出版時(shí)間:2024/9/1
- ISBN:9787111759973
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP311.1
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:
- 開(kāi)本:16開(kāi)
運(yùn)行速度慢的系統(tǒng)常常令人沮喪。它們會(huì)浪費(fèi)用戶的時(shí)間和金錢,甚至可能會(huì)扼殺項(xiàng)目,危及相關(guān)從業(yè)人員的職業(yè)生涯。本書主要面向那些對(duì)計(jì)算機(jī)程序和其他程序消耗時(shí)間情況以及改進(jìn)這種情況的方法感興趣的人,作者以一種清晰且值得思考的方式解釋了為什么系統(tǒng)會(huì)這樣運(yùn)行,并融合親身經(jīng)歷,用講故事的方式分享了自己作為程序性能咨詢顧問(wèn)的經(jīng)驗(yàn),教大家如何改進(jìn)系統(tǒng)。他不僅教讀者性能優(yōu)化方面的技能,還引導(dǎo)讀者使用新的思維方式,更穩(wěn)定、更自信地進(jìn)行優(yōu)化。
作者用講故事的方式教大家如何改進(jìn)系統(tǒng),無(wú)論是處理計(jì)算機(jī)軟件還是面對(duì)日常生活中的某些流程。他不僅教大家性能優(yōu)化方面的技能,還引導(dǎo)大家使用新的思維方式,幫助大家成為更穩(wěn)定、更自信的優(yōu)化專家。
序
卡里早就該寫這本書了。25 年來(lái),他一直在教授并實(shí)踐書中的內(nèi)容。這本書我已 經(jīng)讀了好幾遍,我想你一定會(huì)喜歡的。這是一本可以改變你生活的書。我之所以 這樣確信,是因?yàn)闀嘘U明的那些原則已經(jīng)改變了我的生活。我擁有 18 年的領(lǐng)先 優(yōu)勢(shì),因?yàn)榭ɡ镌?2003 年與杰夫 ·霍爾特(Jeff Holt)合著的《 Oracle 性能優(yōu)化》 (Optimizing Oracle Performance)一書的本質(zhì)正是這本書的精髓所在,即一個(gè)名為“ R 方法”的方法。
R方法改變了我的生活。它是我職業(yè)生涯的基礎(chǔ)。在了解它之前,我已經(jīng)學(xué)習(xí)并運(yùn) 用了作為一名數(shù)據(jù)庫(kù)管理員應(yīng)該掌握的所有“常規(guī)”技巧、竅門、工具和技術(shù)。我 取得了一定的成功,但得到的結(jié)果并不一致,而且一切似乎都非常復(fù)雜且困難。R 方法幾乎立刻顛覆了我對(duì)于優(yōu)化的想法。一切都變得清晰而簡(jiǎn)單。
R方法不僅僅局限于Oracle的應(yīng)用范疇之內(nèi)。使用R方法,我可以清楚地看到,針對(duì)改進(jìn)目標(biāo)需要收集哪些相關(guān)信息。我可以看到去哪里尋找性能問(wèn)題的根本原因, 以及如何解決這些問(wèn)題。不過(guò),最棒的一點(diǎn)是,我能夠向別人解釋我在做什么以及 為什么這樣做。我覺(jué)得這是特別有成就感的。而我之所以能做到這一點(diǎn),就是因?yàn)橥ㄟ^(guò)R方法,我不是在猜測(cè)——而是確切地知曉。
事實(shí)證明,很多人的確看到了R方法在Oracle之外的適用性,盡管2003年的那本書確實(shí)是一本關(guān)于Oracle的書,但這本書不是,這本書針對(duì)的是需要做決策的人。不僅僅是Oracle公司的人,甚至不僅僅是長(zhǎng)時(shí)間進(jìn)行批處理任務(wù)的信息技術(shù)人員,還包括任何需要做飯或帶孩子參加體育活動(dòng)的人——任何想要更快速、更優(yōu)秀或更 優(yōu)雅地做事情的人。這些原則在任何地方都適用。在第一次開(kāi)始將R方法應(yīng)用于我的生活時(shí),我記得當(dāng)時(shí)我在想:“它真的這么簡(jiǎn)單嗎?”答案是肯定的!
這是一本令人愉快的書?ɡ锊粌H是一位業(yè)務(wù)嫻熟的專業(yè)人士,還是一位天賦卓絕的故事講述者。他會(huì)是你所遇到的非常出色的演講者之一(無(wú)論是否從技術(shù)層面 看),這一點(diǎn)在這本書中得到了顯著體現(xiàn)。看到他非常輕松地用平實(shí)的英語(yǔ)解釋這 些讓眾人望而卻步的話題,既讓人心滿意足,又令人耳目一新。這些故事幾乎涉及每個(gè)人的經(jīng)歷,無(wú)論他們是否從事IT行業(yè)。在這本書中,我想你會(huì)發(fā)現(xiàn)至少有一些故事會(huì)讓你感同身受。
吸引你的是故事,但真正改變你的是故事中的道理。在這本書中,你將了解到“正 確觀察正在發(fā)生的事情”這一簡(jiǎn)單的行為如何使世界上的一切變得完全不同;你將學(xué)習(xí)如何自信且一致地去識(shí)別、查看、框定、分析并解決性能問(wèn)題;你將學(xué)習(xí)如何 將同事的情緒作為一種積極的力量;你將了解如何更好地進(jìn)行測(cè)試,從而避免問(wèn)題 的出現(xiàn),而不是等到以后直面問(wèn)題;你將學(xué)習(xí)如何找到確鑿的證據(jù)來(lái)確定是否有可 能做進(jìn)一步改進(jìn)。你將從這本書中找到所有答案。
你可以將這本書作為一本教科書,也可以將其看作一本能夠隨意翻閱的參考書。我認(rèn)為這本書可以幫助很多像你一樣的人,為這個(gè)世界做出積極的貢獻(xiàn)。
——古德蒙達(dá)爾 · 約塞普松 2021年 2月于冰島科帕沃古爾
前言
讓事情變得更快是為了讓事情變得更好,從而讓生活變得更美好。如果工具能夠工 作得更快,我們就有更多的時(shí)間去做自己想做的事情。如果這些工具是幫助我們處理信息的,那么它們工作得越快,我們就可以越好地做出決策。
無(wú)論是對(duì)計(jì)算機(jī)、犁頭進(jìn)行優(yōu)化,還是對(duì)兩者之外的其他東西進(jìn)行優(yōu)化,都需要兩 項(xiàng)獨(dú)立的技能:一是提出正確的問(wèn)題;二是回答這些問(wèn)題。大多數(shù)思考優(yōu)化的人都 很了解第二項(xiàng)技能,但似乎很少有人意識(shí)到第一項(xiàng)技能。然而,第一項(xiàng)技能——提出正確問(wèn)題的行為——才是我們需要首先培養(yǎng)的技能,尤其是作為一名領(lǐng)導(dǎo)者。大家可能會(huì)驚訝于自己竟然能如此迅速地學(xué)會(huì)它。
不過(guò),還有一個(gè)問(wèn)題。教學(xué)時(shí),我們提出的問(wèn)題很簡(jiǎn)單。但所有遇到過(guò)好奇孩子的人都知道,簡(jiǎn)單的問(wèn)題并不總是容易回答的。例如,管理公司計(jì)算機(jī)的人可能確切地知道在某個(gè)特定的星期五下午2點(diǎn)鐘系統(tǒng)的CPU利用率是多少,但他們可能無(wú)法回答店員輸入一份訂單需要多長(zhǎng)時(shí)間。他們給出的答案和我們想要提出的問(wèn)題之間存在著錯(cuò)配。這種錯(cuò)配本身就隱藏著讓事情變得更快的機(jī)會(huì)。我會(huì)教大家如何找 到這些機(jī)會(huì)。
優(yōu)化通常更具政治性,而非技術(shù)性。奇怪的是,關(guān)于優(yōu)化的書籍幾乎都是技術(shù)性的。技術(shù)人員很容易認(rèn)為項(xiàng)目中的非技術(shù)因素是不必要的,甚至可能是荒謬的干擾 因素。但事實(shí)是,優(yōu)化的非技術(shù)方面也需要人們?nèi)ダ斫夂屯度刖,就如同技術(shù)方 面一樣。為了優(yōu)化某些內(nèi)容, 除了要在技術(shù)上富有成效外,有時(shí)候還必須面對(duì)恐慌 和恐懼所產(chǎn)生的“怪物”。良好的成功業(yè)績(jī)記錄將幫助我們?cè)陉P(guān)于下一步該做什么的辯論中贏得勝利,但如果不發(fā)揮一些政治智慧,我們就永遠(yuǎn)無(wú)法創(chuàng)造出這樣的業(yè)績(jī)記錄。
我寫這本書的目的是幫助大家提高這兩項(xiàng)技能:從政治和技術(shù)層面提問(wèn)和回答。潛在的回報(bào)是巨大的。當(dāng)我們既了解性能的科學(xué),又了解如何駕馭關(guān)注性能的人的欲 望和情感的藝術(shù)時(shí),我們就可以優(yōu)化任何事情。
卡里·米爾薩普(Cary Millsap)是Method R公司創(chuàng)始人,該公司為很多知名的企業(yè)提供服務(wù),創(chuàng)建了世界上第一個(gè)用于管理、挖掘和處理成千上萬(wàn)個(gè)Oracle跟蹤文件的軟件系統(tǒng)。20世紀(jì)90年代,他曾在Oracle公司擔(dān)任系統(tǒng)性能組的副總裁。他是Oak Table Network的創(chuàng)始成員之一。
目錄
序
前言
第一部分 關(guān)注目標(biāo)
第1章 鮑勃 / 9
第2章 菲莉絲 / 11
第3章 正確的目標(biāo) / 13
第4章 南!/ 14
第5章 關(guān)注正確的目標(biāo) / 19
第6章 當(dāng)無(wú)法關(guān)注目標(biāo)時(shí) / 21
第二部分 方法
第7章 四十九條申訴 / 25
第8章 發(fā)貨標(biāo)簽問(wèn)題 / 27
第9章 更多申訴 / 29
第10章 優(yōu)先級(jí) / 31
第11章 整個(gè)系統(tǒng)都很慢 / 33
第12章 間接收益 / 34
第13章 銀彈 / 37
第14章 清單 / 38
第15章 R方法 / 40
第三部分 剖析
第16章 薪資系統(tǒng) / 43
第17章 序列圖 / 47
第18章 甘特圖 / 49
第19章 跟蹤 / 51
第20章 剖析表 / 53
第21章 創(chuàng)建剖析表 / 55
第四部分 衡量性能
第22章 性能是一種特性 / 59
第23章 可重復(fù)測(cè)試用例 / 61
第24章 間歇性問(wèn)題 / 63
第25章 跟蹤范圍 / 65
第26章 識(shí)別體驗(yàn) / 68
第27章 測(cè)量入侵 / 69
第五部分 優(yōu)化
第28章 謎語(yǔ) / 73
第29章 游戲 / 76
第30章 事件計(jì)數(shù) / 78
第31章 事件持續(xù)時(shí)間 / 80
第32章 過(guò)濾前置 / 83
第33章 向左看 / 85
第34章 托-米爾薩普定律 / 87
第35章 瓶頸 / 88
第36章 警惕“系統(tǒng)瓶頸” / 90
第37章 優(yōu)化子系統(tǒng)的問(wèn)題 / 91
第38章 每個(gè)問(wèn)題都是偏態(tài)問(wèn)題 / 94
第39章 關(guān)鍵路徑 / 98
第六部分 延遲
第40章 凱文 / 103
第41章 排隊(duì)延遲 / 107
第42章 排隊(duì)論 / 108
第43章 雙曲線 / 110
第44章 流量強(qiáng)度 / 112
第45章 利用率 / 113
第46章 雙曲線杠桿 / 114
第47章 一致性延遲 / 115
第48章 延遲和吞吐量 / 117
第七部分 浪費(fèi)
第49章 黛布拉 / 121
第50章 斜坡 / 123
第51章 瑪莎 / 126
第52章 高效 / 130
第53章 修復(fù)低效,還是供給低效 / 131
第54章 雪怪 / 133
第55章 快速與高效 / 135
第56章 可擴(kuò)展性 / 136
第八部分 解決問(wèn)題
第57章 四個(gè)簡(jiǎn)單問(wèn)題 / 141
第58章 到達(dá)數(shù)據(jù)盡頭 / 143
第59章 高管反饋環(huán) / 145
第60章 附帶損害 / 146
第61章 過(guò)猶不及 / 148
第62章 道格 / 150
第63章 何時(shí)完成 / 152
第九部分 預(yù)測(cè)
第64章 理查德 / 157
第65章 為什么需要預(yù)測(cè) / 161
第66章 利用剖析表進(jìn)行預(yù)測(cè) / 162
第67章 對(duì)“做還是不做”決策的預(yù)測(cè) / 163
第68章 線性行為 / 164
第69章 偏態(tài) / 165
第70章 事件相互依賴 / 167
第71章 非線性行為 / 168
第十部分 延遲隱藏
第72章 媽媽 / 173
第73章 多米尼克 / 176
第74章 并行化 / 178
第75章 如何讓系統(tǒng)崩潰 / 180
第76章 多任務(wù)處理 / 182
第77章 人類的多任務(wù)處理 / 184
第十一部分 謬誤
第78章 邪惡精靈 / 187
第79章 皮夾克 / 188
第80章 被隱藏的異常值 / 189
第81章 當(dāng)心許下的愿望 / 190
第82章 百分位規(guī)格 / 192
第83章 命中率問(wèn)題 / 194
第84章 mpg問(wèn)題 / 197
第85章 比率把戲 / 198
第86章 吞吐量和響應(yīng)時(shí)間 / 200
第87章 比率沒(méi)有用嗎 / 201
第88章 何時(shí)比率可靠 / 202
第89章 描述性能改進(jìn) / 203
第90章 “加快n倍”的神話 / 205
第十二部分 測(cè)試
第91章 為什么要測(cè)試 / 211
第92章 風(fēng)險(xiǎn) / 213
第93章 破壞性測(cè)試 / 214
第94章 測(cè)試并非一個(gè)階段 / 216
第95章 自動(dòng)化測(cè)試 / 218
第96章 預(yù)防問(wèn)題 / 219
第十三部分 規(guī)劃
第97章 厄特利夫人 / 223
第98章 容量規(guī)劃 / 224
第99章 利用率目標(biāo) / 226
第100章 何時(shí)升級(jí) / 228
第十四部分 政治
第101章 證明 / 233
第102章 少承諾的問(wèn)題 / 235
第103章 七個(gè)項(xiàng)目風(fēng)險(xiǎn)放大器 / 236
第104章 快速失敗 / 239
第105章 面子 / 242
第106章 珠寶商的方法 / 244
第107章 變更控制 / 246
第108章 記錄保存 / 247
第109章 失敗 / 249
第110章 要緊張,但別焦慮 / 251
第十五部分 收獲樂(lè)趣
第111章 幫孩子們做優(yōu)化 / 255
術(shù)語(yǔ)表 / 258
參考文獻(xiàn) / 263