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