TOP
0
0
魅麗。花火原創小說66折起
大型網站性能優化實戰:從前端、網絡、CDN到後端、大促的全鏈路性能優化詳解(簡體書)
滿額折
大型網站性能優化實戰:從前端、網絡、CDN到後端、大促的全鏈路性能優化詳解(簡體書)
大型網站性能優化實戰:從前端、網絡、CDN到後端、大促的全鏈路性能優化詳解(簡體書)
大型網站性能優化實戰:從前端、網絡、CDN到後端、大促的全鏈路性能優化詳解(簡體書)
大型網站性能優化實戰:從前端、網絡、CDN到後端、大促的全鏈路性能優化詳解(簡體書)
大型網站性能優化實戰:從前端、網絡、CDN到後端、大促的全鏈路性能優化詳解(簡體書)
大型網站性能優化實戰:從前端、網絡、CDN到後端、大促的全鏈路性能優化詳解(簡體書)
大型網站性能優化實戰:從前端、網絡、CDN到後端、大促的全鏈路性能優化詳解(簡體書)
大型網站性能優化實戰:從前端、網絡、CDN到後端、大促的全鏈路性能優化詳解(簡體書)
大型網站性能優化實戰:從前端、網絡、CDN到後端、大促的全鏈路性能優化詳解(簡體書)
大型網站性能優化實戰:從前端、網絡、CDN到後端、大促的全鏈路性能優化詳解(簡體書)
大型網站性能優化實戰:從前端、網絡、CDN到後端、大促的全鏈路性能優化詳解(簡體書)
大型網站性能優化實戰:從前端、網絡、CDN到後端、大促的全鏈路性能優化詳解(簡體書)
大型網站性能優化實戰:從前端、網絡、CDN到後端、大促的全鏈路性能優化詳解(簡體書)

大型網站性能優化實戰:從前端、網絡、CDN到後端、大促的全鏈路性能優化詳解(簡體書)

人民幣定價:79 元
定  價:NT$ 474 元
優惠價:87412
領券後再享89折
無庫存,下單後進貨(採購期約45個工作天)
可得紅利積點:12 點
相關商品
商品簡介
作者簡介
目次

商品簡介

性能是大型網站的一個要素,影響性能的因素非常多。本書由三位熟悉不同領域性能優化的技術專家打造,從大型網站的整體體系出發,講述大型網站性能優化的全鏈路實踐過程,包括核心原理、常見策略與實戰案例。具體內容包括:基於用戶體驗的性能優化要素、前端性能優化、網站性能分析、服務端性能優化、TCP優化、DNS優化、CDN優化、大型網站性能監控體系、大型網站容量評估、高性能系統架構模式、大促保障體系、數據分析驅動性能優化。本書的初衷就是將實踐分享給讀者,為其展示一個性能優化相關知識的全貌。書中的很多性能優化方法和策略都是作者從實踐中總結出來的,實用性非常強。本書既可供入門者瞭解大型網站性能優化所有的相關技術,以及解決問題的思路和方法,也可供業界同行參考,給日常工作帶來啟發。

作者簡介

周濤明,阿裡高級技術專家、本書的倡導者,在阿裡體系有6年的工作經歷,見證了阿裡的某個電子商務平臺從小到大的發展歷程,主導過多次大促總體負責的工作。之前在Cisco工作,在阿裡速賣通負責性能領域工作,參與過CDN、TCP、DNS的優化工作,特別是對CDN有比較深入的瞭解,對服務器端性能優化有比較多的經驗,曾在螞蟻金服保險事業部主要負責平臺保險的架構工作,目前在集團信息平臺事業部做架構師。
張榮華,螞蟻金服集團高級架構師,有12年工作經驗,曾在土豆網從事架構工作,是Javaeye的資深撰稿人,他寫的很多文章在Javaeye裡引起了很大反響。在阿裡從事多年架構工作,多次和筆者搭檔歷經大促性能保障工作,同時有非常豐富的性能優化經驗,對架構、領域模型、性能等多方面都有非常豐富的經驗,非常擅於學習,在計算機領域是不可多得的人才,同時解決了很多難題。他的特點是,能將一個技術難題深入淺出地分析到位,是非常擅於講故事的同學,是一位真正的技術人。
張新兵,速賣通前端性能專家,對於前端的性能優化有非常豐富的經驗,從他身上能夠看到技術人員不折不撓的鑽研精神。讓人印象深刻的是,為了解決兼容SEO的問題,他提出了頁面不能異步化加載的前端性能優化方案,從方案提出到落地,經歷了很長的時間與各部門業務同事溝通、反復試驗,效果喜人。

序 言

寫書的初衷和背景
筆者是2011年進入阿裡的,隨著業務量的逐步增長,對系統的挑戰越來越大,系統的容量瓶頸也越來越明顯。記得剛來的時候,業務部門要做一次促銷,想知道我們的系統能不能撐得住,這個問題對於沒有任何經驗的同學,是很難有精確答案的。後來與同事交流並結合實踐,才慢慢知道了大促的技術保障過程是怎樣的。
在筆者的經歷中,有太多的故事想講給那些需要的同行們,以避免他們犯同樣的錯,可以做到以史為鑒。即使是阿裡內部的員工,也不是每個人都有機會接觸大促、接觸性能優化工作的。所以這本書的初衷就是將實踐經驗分享給同行們,讓同行們也有所收穫。
文字最大的魅力是提升記憶的深度,特別是美好的東西更值得記錄下來,等數年或者數十年後再去回首時,也是人生中非常美好的事情。這個世界我們曾經來過,將往事沉澱,當年很多讓人覺得非常有挑戰的事情,如果沒有文字的記錄和時間的沉澱,再回首時,可能已經忘記了大半。再回首2012年以來解決的很多難題,記憶中能夠留下的已經不多,這也促使筆者決定總結一下,以便幫助更多的人。
從2012年開始,筆者和搭檔榮華、新兵開始逐步切入大促的保障工作,並同時開始負責性能領域的工作。從事和性能相關的工作十分有趣,也很容易提升知識的深度和廣度。一個大型網站在構建過程中,不僅包括容量優化,還涉及體驗相關的優化,而且必須能夠隨時回顧這些知識。本書實際上經過3年的沉澱和不斷修整,在繁忙的工作之餘寫下這些文字,是需要毅力的。市面上很多與性能相關的書講實踐的偏少,本書最大的特點就是實踐偏多,通過實踐進行理論昇華。書中的很多內容都是3位作者一個字一個字寫下來的,這是非常不易的。
人生是一場修煉的過程,不斷地突破自己的舒適圈,不斷地和內心的懶惰做鬥爭,咬牙做下來,才能體會到這件事情的不易,輕易得到的總是不會太珍惜。我們處於飛速發展的時代,同時我們也處於浮躁的時代,這個時代造就了很多英雄,但也很容易在其中迷失自己。在迷失的時候,給自己定一個目標,只有不斷地學習和努力,同時擺正自己的心態,明確自己想要的東西,才能處在浪潮之巔,在時代的浪潮裡留下自己的痕跡。希望本書也能留下一絲痕跡。
關於作者
本書的作者是在實踐中逐步成長起來的架構師,在項目的實踐中,全力以赴地解決各種難題。筆者2008年認識榮華,2011年認識新兵,他們給了筆者很多支持。特別是2008年在Cisco工作的過程中,榮華給了筆者很多支持,筆者跟他學到了很多東西。當年JavaEye非常盛行的時候,榮華(以筆名ahuaxuan)在JavaEye論壇裡名氣很大。筆者在加入Cisco之後,有幸與他成為同事,他教會了筆者很多東西。新兵負責過前端性能優化部分,他在前端性能方面有比較深入的研究,我們一起合作過多個優化的實踐項目,並且在實踐過程中取得了良好的效果。大家因為共同的愛好和興趣而聚在一起,在策劃這本書時,我們很快形成共識,大家因為志同道合而相聚,都知道這本書的意義。作為一個技術人,從一點點的知識學起,從不會、不瞭解,到慢慢深入,每個人在這個過程中的沉澱有所不同。本書只是從我們3個人的角度進行性能優化體系的闡述。
本書的體系是非常廣的,可能只有很少數的人對每個部分都比較精通,碰巧的是我們3個人,是熟悉不同領域的工程師,這樣可以各自發揮特長,讓本書更有味道,也更有廣度。本書是市面上第一本從前端到後端,從CDN、DNS到TCP,到機房、大促全鏈路的關於性能優化的書籍,能夠通曉這些知識,是一個工程師或者專家很難做到的。本書主要突出全面性和實戰性,是目前筆者認為的最全面的關於性能優化的書籍,本書試圖打造端到端的優化理論和實戰體系。
本書的主要結構
本書以大型網站性能優化實戰為主題,講述了性能優化的基本理論和實踐策略。
第1章介紹影響用戶體驗的幾個關鍵要素,重點講解白屏、首屏及頁面整體加載的過程,針對它們提出了比較系統的優化策略和常見方案。
第2章主要介紹前端性能優化實戰,包括延遲渲染和SEO頁面的優化。重點講解了加快頁面渲染速度的基本思路及具體的實踐解決方案,以及SEO頁面的優化思路和解決方案。
第3章介紹如何借助站外優秀的性能測試工具,以及建立網站自己的真實用戶性能監控系統,來測試和監控頁面的這些關鍵性能指標,從而使我們能夠快速對網站性能問題進行分析並做出優化。
第4章講述服務器端性能優化理論體系和實戰,包括服務器端的性能優化方法和常見的優化策略。重點包括QPS的優化、同步模型與異步模型對性能的影響、數據結構對性能的影響、算法設計不合理帶來的性能問題,以及一個綜合案例。
第5章闡述TCP優化,介紹了TCP的基本原理,並對TCP近幾年的發展做了介紹,最後介紹了一個項目中的TCP優化實戰案例。
第6章講述DNS的一些優化方案,主要從DNS的基本原理出發,結合跨境DNS部署和實戰經驗,介紹了DNS優化的歷程。
第7章介紹CDN的優化實踐,重點包括CDN的工作原理、CDN優化的常見策略,同時介紹了大量的優化案例,最後總結了CDN的優化原則。
第8章主要講述大型網站的性能監控需求和監控指標,以及如何實現監控,揭開大型網站性能監控體系的面紗。
第9章主要介紹大型網站如何進行容量評估,重點包括單機峰值QPS的測算、大型網站常用的容量評估方法。
第10章高性能系統架構模式,主要從宏觀角度來看性能優化。好的架構是高性能的基礎,只有從架構上解決問題,才能將高性能有效地持續下去。好的高擴展架構比局部優化帶來的效果要大得多,如同人們經常說的,格局決定高度。
第11章重點介紹大促的整體方案和細節工作,輔以案例,加深讀者的印象。大促保障是性能優化的重要力量,由於大促保障本身是成體系的,除了性能優化,還介紹了穩定性保障和資金安全保障的內容。
第12章數據分析驅動性能優化,從數據視角介紹如何進行性能優化,重點包括性能優化相關的數據分析原理與方法,以及如何在實踐中使用數據分析來進行大型網站的優化。
周濤明
2018年11月

目次

目 錄


第1章 基於用戶體驗的性能優化要素 1
1.1 頁面用戶體驗的要素介紹 1
1.2 白屏時間 3
1.2.1 白屏時間的重要性 3
1.2.2 白屏過程詳解 4
1.3 首屏時間 10
1.3.1 首屏時間的定義 10
1.3.2 首屏時間的重要性 11
1.4 頁面整體加載完成 15
第2章 前端性能優化實戰 16
2.1 延遲渲染 16
2.1.1 挑戰和困難 17
2.1.2 解決方案 17
2.2 SEO Ajax 20
2.2.1 挑戰和困難 21
2.2.2 解決方案 21
第3章 網站性能分析 24
3.1 快速瞭解網站性能 24
3.1.1 使用YSlow進行性能分析 24
3.1.2 使用PageSpeed進行性能分析 25
3.1.3 使用WebPagetest進行性能分析 27
3.2 真實用戶前端性能監控 29
3.2.1 真實用戶前端性能數據采集 29
3.2.2 數據采集可行性分析 30
第4章 服務端性能優化 36
4.1 最大QPS推算及驗證 36
4.1.1 RT 37
4.1.2 單線程QPS 38
4.1.3 最佳線程數 38
4.1.4 最大QPS 39
4.1.5 實驗數據驗證公式 44
4.1.6 壓力測試最佳線程數和QPS的臨界點 47
4.2 同步模型與異步模型 49
4.2.1 同步模型 49
4.2.2 異步模型 50
4.2.3 為什麼異步模型需要的線程數少 58
4.2.4 兩個模型的對比及異步模型適用場景 59
4.2.5 小結 60
4.3 數據結構對性能的影響 61
4.3.1 HashMap的問題 61
4.3.2 HashMap的結構 62
4.3.3 碰撞 64
4.3.4 Hash算法 65
4.3.5 題外話:ConcurrentHashMap中的Hash 72
4.3.6 HashMap綜述 73
4.3.7 均攤 74
4.4 算法設計不合理帶來的性能問題 78
4.4.1 某應用A的現象 78
4.4.2 某應用B的現象 78
4.4.3 分析 79
4.4.4 方案 81
4.4.5 驗證 82
4.4.6 小結 86
4.5 綜合案例:電商活動頁面性能優化 86
4.5.1 第一輪:通過APC使QPS提高近3倍 86
4.5.2 第二輪:解決消耗CPU資源大戶Gzip 92
4.5.3 小結 105
第5章 TCP優化 107
5.1 TCP傳輸原理 108
5.1.1 TCP傳輸的簡要說明 108
5.1.2 滑動窗口――接收端流量控制 108
5.1.3 擁塞窗口――發送端流量控制 109
5.1.4 傳統TCP擁塞控制問題 110
5.2 Linux內核升級中的TCP優化技術 110
5.2.1 調整接收窗口 111
5.2.2 初始擁塞窗口調整(Linux 2.6.38開始支持) 111
5.2.3 Early Retransmit(Linux 3.5開始支持) 112
5.2.4 初始RTO調整(Linux 2.6.18開始支持) 114
5.2.5 TFO 114
5.2.6 TSO 115
5.3 TIME_WAIT問題案例分析 116
5.3.1 問題現象 116
5.3.2 問題分析 117
5.3.3 問題初步解決 118
5.3.4 問題再分析 118
5.3.5 問題後記 119
5.4 總結 119
第6章 DNS優化 120
6.1 DNS基本原理 121
6.1.1 DNS的一些關鍵術語 121
6.1.2 DNS查詢過程 122
6.1.3 NS選擇策略和機制 124
6.1.4 DNS擴展協議EDNS 125
6.1.5 常用DNS相關命令 126
6.2 實戰案例:超遠距離DNS性能問題分析和優化 130
6.2.1 現象描述 130
6.2.2 DNS Lookup耗時長的問題分析 131
6.2.3 DNS解析性能解決方案 133
6.3 總結 136
第7章 CDN優化 138
7.1 CDN優化概述 138
7.2 CDN的相關術語 140
7.3 從應用看CDN的基本原理 141
7.3.1 CDN基本架構 141
7.3.2 CDN全域調度 141
7.3.3 CDN基本調度方式 142
7.3.4 CDN加速的基本實施流程 145
7.4 CDN優化常見策略 146
7.4.1 靜態化緩存優化 146
7.4.2 動態內容靜態邊緣化 147
7.4.3 動態加速優化 150
7.4.4 用戶序列優化原理 153
7.4.5 域名合併優化 153
7.4.6 多級緩存架構優化 154
7.4.7 301、302跳轉邊緣化訪問和多終端邊緣化判斷 154
7.5 CDN優化實戰 155
7.5.1 CDN的不合理架構造成304請求耗時長優化實戰 155
7.5.2 靜態資源命中率優化實戰 159
7.5.3 CDN動態加速優化實戰 164
7.5.4 CDN靜態化的問題和優化實戰 171
7.5.5 CDN調度優化實戰 178
7.6 總結 179

第8章 大型網站性能監控體系 182
8.1 監控設計 183
8.1.1 應用監控存在的問題 183
8.1.2 從問題排查思路看監控的設計 183
8.1.3 監控的設計步驟 184
8.1.4 監控常見法則總結 187
8.2 大型網站性能監控體系設計目標和原則 188
8.2.1 準確性 188
8.2.2 完整性 189
8.2.3 實時性 189
8.2.4 細分化 189
8.2.5 聚合化 189
8.2.6 圖表化 190
8.2.7 可追溯 190
8.3 性能指標和監控項及實現 190
8.4 性能監控的關鍵指標 194
8.4.1 應用監控 194
8.4.2 系統監控 196
8.5 常用監控命令詳解 201
第9章 大型網站容量評估 205
9.1 容量評估概述 205
9.2 容量評估的特點 206
9.3 單機峰值QPS的測算 206
9.3.1 單機測算方法 207
9.3.2 兩種常用的引流壓力測試方法 207
9.3.3 引流壓力測試停止時間的判斷 208
9.3.4 如何避免單機壓力測試出現問題 209
9.4 大型網站常用的容量評估方法 210
9.4.1 二八原則評估法――新業務評估的基本方法 210
9.4.2 有歷史數據參考的容量評估――GMV線性比例評估法和GMV轉化評估法 210
9.4.3 流量占比評估法 215
9.5 總結 216
第10章 高性能系統架構模式 218
10.1 無狀態架構 219
10.1.1 解決方案一――Session複製 219
10.1.2 解決方案二――Session Sticky 220
10.1.3 解決方案三――Session集中式存儲 220
10.1.4 解決方案四――基於瀏覽器Cookie的無狀態架構 222
10.2 基於負載均衡器的水平擴展架構 222
10.3 基於DNS的負載均衡 224
10.4 讀寫分離架構 224
10.5 基於數據水平切分的水平擴展架構 225
10.6 緩存架構 228
10.6.1 緩存的基本屬性 229
10.6.2 緩存的分類 229
10.6.3 緩存使用常見的問題和誤區 230
10.6.4 緩存使用場景 231
10.6.5 緩存使用規範和原則 232
10.7 近端架構 233
10.8 異步化架構 234
10.9 排隊緩衝架構 235
10.10 多機房架構 236
10.10.1 同城架構 236
10.10.2 異地架構 238
10.11 基於服務的可擴展架構 240
10.12 日結架構 242
10.13 熱點避免架構 243
第11章 大促保障體系 246
11.1 大促保障概述 246
11.1.1 大促保障簡介 246
11.1.2 大促保障整體流程 247
11.2 大促保障體系詳解 249
11.2.1 容量保障體系 249
11.2.2 風險保障體系 253
11.2.3 組織保障 255
11.2.4 運維保障 255
11.2.5 中間件保障 256
11.3 大促容量峰值保障策略 257
11.4 大促風險保障策略 259
11.4.1 風險保障概述 259
11.4.2 風險保障常見風險 259
11.4.3 風險識別和風險分類 260
11.4.4 風險保障策略 263
11.4.5 分組隔離策略 265
11.4.6 業務降級策略 265
11.4.7 監控發現策略 265
11.5 大促資金安全保障策略 265
11.5.1 常見的資金安全防護策略 265
11.5.2 大促資金安全防護 268
11.6 大促經驗沉澱 268
11.7 大促保障實戰分析 269
11.7.1 機房網絡瓶頸問題分析 269
11.7.2 集群個體異常造成的容量問題分析 275
11.7.3 詭異的網絡瓶頸 278
11.7.4 多機房壓力測試流量不均問題分析 283
11.7.5 Tengine限流案例 291
11.8 總結 292
第12章 數據分析驅動性能優化 293
12.1 WebP性能優化案例背景 293
12.1.1 WebP格式開始興起 294
12.1.2 WebP改

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 412
無庫存,下單後進貨
(採購期約45個工作天)

暢銷榜

客服中心

收藏

會員專區