《構建高性能可擴ASP.NET網站》針ASP.NET 網站開發中可能遇到的問題,給出了經過實踐檢驗的具體解決方法。
基本介紹
- 書名:構建高性能可擴展asp.net網站
- 作者: (美)Richard Kiessig
- 譯者:余昭輝
- ISBN:9787115248336
- 出版社:人民郵電出版社
- 出版時間:2011 年3月
- 裝幀:16開
- 叢書名:圖靈程式設計叢書
- 版次:1-1
內容簡介,目錄,
內容簡介
涉及的內容包括:加快顯示html 的方法、快取的最佳方式、如何使用iis、如何處理會話狀態、如何配置sql server 以及如何最佳化基礎設施等。
《構建高性能可擴ASP.NET網站》適用於所有web 開發和運維人員以及對最佳化網站感興趣的讀者。
目錄
第1章 原則和方法 1
1.1 性能和可擴展性的差異 2
1.2 為什麼需要高性能和高可擴展性 2
1.2.1 最佳化 3
1.2.2 過程 3
1.2.3 體驗 4
1.3 完整的頁面處理過程 4
1.4 原則概述 6
1.4.1 性能原則 6
1.4.2 次要技術 7
1.5 本書使用的環境和工具 8
1.5.1 軟體工具和版本 8
1.5.2 術語 9
1.5.3 排版約定 9
1.5.4 作者網站 9
1.6 小結 10
第2章 客戶端性能 11
2.1 瀏覽器頁面處理 12
2.1.1 網路連線和初始http請求 12
.2.1.2 頁面解析和新的資源請求 13
2.1.3 頁面資源的順序以及重新排序 14
2.2 瀏覽器快取 15
2.3 網路最佳化 16
2.4 腳本包含檔案的處理 18
2.4.1 通過在腳本之前排隊資源請求提高並行化 18
2.4.2 減少腳本檔案的數量 19
2.4.3 在頁面剩餘時間裡請求對象 21
2.4.4 腳本延遲 22
2.4.5 針對腳本的伺服器端方法 22
2.5 少下載 22
2.5.1 減少每個頁面中資源的數量 22
2.5.2 降低html、css和javascript的大小 24
2.5.3 最大化壓縮 25
2.5.4 圖片最佳化 25
2.5.5 網站圖示檔案 29
2.5.6 html、css和javascript的一般最佳化 29
2.6 使用javascript限定頁面請求 32
2.6.1 提交按鈕 33
2.6.2 連結 33
2.7 使用javascript降低html大小 34
2.7.1 生成重複的html 34
2.7.2 為標籤添加重複文本 35
2.8 減少上傳 36
2.9 css最佳化 38
2.10 圖片精靈和集群 41
2.11 利用dhtml 43
2.12 使用ajax 43
2.13 使用silverlight 45
2.13.1 創建html控制項 46
2.13.2 在javascript中調用silverlight內代碼 48
2.13.3 使用silverlight改進性能的其他方式 49
2.14 提高呈現速度 50
2.15 預快取 51
2.15.1 預快取圖片 51
2.15.2 預快取css和javascript 52
2.16 使用css實現無表格的布局 53
2.17 最佳化javascript的性能 56
2.18 小結 57
第3章 快取 59
3.1 在所有層中快取 59
3.2 瀏覽器快取 60
3.2.1 快取靜態內容 61
3.2.2 快取動態內容 63
3.3 viewstate 65
3.4 cookie 71
3.4.1 設定會話cookie 71
3.4.2 單個cookie中多個名稱/值對 72
3.4.3 cookie屬性 72
3.5 silverlight獨立存儲 80
3.5.1 示例程式:“歡迎回來” 80
3.5.2 部署並更新silverlight套用 84
3.6 代理快取 85
3.6.1 使用cache-control http頭 85
3.6.2 管理相同內容的不同版本 87
3.7 web伺服器快取 87
3.7.1 windows核心快取 87
3.7.2 iis 7輸出快取 92
3.7.3 asp.net輸出快取 93
3.7.4 asp.net對象快取 98
3.8 sql server快取 103
3.9 分散式快取 104
3.10 快取過期時間 105
3.10.1 動態內容 105
3.10.2 靜態內容 105
3.11 小結 106
第4章 iis 7 108
4.1 應用程式池和web園 108
4.2 請求處理管道 110
4.3 windows系統資源管理器 111
4.4 常見的http問題 113
4.4.1 http重定向 114
4.4.2 http頭 115
4.5 壓縮 118
4.5.1 啟用壓縮 118
4.5.2 設定壓縮選項 120
4.5.3 使用web.config配置壓縮 121
4.5.4 快取壓縮的內容 121
4.5.5 使用編程方式啟用壓縮 122
4.6 http keep-alive 122
4.7 最佳化url 122
4.7.1 虛擬目錄 123
4.7.2 url重寫 123
4.8 管理流量 126
4.8.1 使用robots.txt 126
4.8.2 網站地圖 127
4.8.3 頻寬節流 128
4.9 跟蹤失敗請求 130
4.10 iis性能調校提示 133
4.11 小結 134
第5章 asp.net執行緒與會話 135
5.1 執行緒影響可擴展性 135
5.2 asp.net頁面生命周期 136
5.3 應用程式執行緒池 137
5.3.1 同步頁面 138
5.3.2 異步頁面 138
5.3.3 負載測試 140
5.3.4 改進已有的同步頁面的可擴展性 142
5.3.5 從單個頁面上執行多個異步任務 143
5.3.6 逾時處理 144
5.3.7 異步web服務 145
5.3.8 異步檔案i/o 148
5.3.9 異步web請求 149
5.4 後台工作執行緒 151
5.4.1 使用後台執行緒記錄日誌 152
5.4.2 任務串列化 157
5.5 鎖定指南和使用readerwriterlock 157
5.6 會話狀態 158
5.6.1 會話id 159
5.6.2 inproc模式 159
5.6.3 使用stateserver 160
5.6.4 使用sql server 160
5.6.5 有選擇的啟用會話狀態,使用readonly模式 161
5.6.6 可擴展性會話狀態支持 162
5.6.7 調校 167
5.6.8 完全自定義會話狀態 167
5.6.9 會話序列化 168
5.7 會話狀態的其他方案 168
5.8 小結 169
第6章 使用asp.net實現和管理最佳化技術 170
6.1 母版頁 170
6.2 用戶控制項 173
6.2.1 示例 173
6.2.2 註冊和使用控制項 175
6.2.3 將控制項放在dll中 175
6.3 主題 176
6.3.1 靜態檔案 176
6.3.2 皮膚 176
6.3.3 動態設定主題 176
6.3.4 可以放在主題里的屬性 177
6.3.5 示例 178
6.3.6 預快取主題圖片 179
6.4 特定於瀏覽器的代碼 179
6.4.1 使用request.browser 181
6.4.2 特定於瀏覽器屬性前綴 182
6.4.3 快取特定於瀏覽器的頁面 183
6.4.4 控制項適配器 184
6.4.5 瀏覽器提供程式 185
6.4.6 偽裝 187
6.5 動態生成javascript和css 187
6.5.1 示例 188
6.5.2 從javascript里訪問asp.net控制項 189
6.6 給靜態檔案設定多個域名 190
6.7 修改圖片大小 191
6.8 小結 193
第7章 管理asp.net應用程式策略 194
7.1 自定義httpmodule 194
7.1.1 示例httpmodule的需求 195
7.1.2 init() 方法 195
7.1.3 prerequesthandlerexecute事件處理器 197
7.1.4 beginauthenticaterequest事件處理器 197
7.1.5 endauthenticaterequest事件處理器 199
7.1.6 endrequest事件處理器 200
7.1.7 資料庫表和存儲過程 201
7.1.8 在web.config中註冊該httpmodule 202
7.2 自定義httphandler 202
7.2.1 開始請求 203
7.2.2 結束請求 204
7.3 頁面基類 205
7.4 頁面適配器 206
7.4.1 示例:pagestatepersister 206
7.4.2 pageadapter類 207
7.4.3 註冊pageadapter 208
7.5 url重寫 208
7.5.1 在httpmodule中重寫url 208
7.5.2 修改表單使用重寫的url 209
7.6 標籤轉換 210
7.7 深入理解控制項適配器 211
7.8 重定向 212
7.8.1 傳統的重定向 212
7.8.2 永久重定向 213
7.8.3 使用server.transfer() 213
7.9 儘早刷新回響 214
7.9.1 標記 214
7.9.2 隱藏檔案 214
7.9.3 包跟蹤 215
7.9.4 塊編碼 216
7.9.5 小結 217
7.10 過濾空格 218
7.11 避免不必要工作的其他方法 220
7.11.1 檢查page.ispostback 220
7.11.2 確定頁面是否刷新 220
7.11.3 避免在回發之後重定向 220
7.11.4 檢查response.isclient- connected 221
7.11.5 關閉調試模式 221
7.11.6 批量編譯 222
7.12 小結 222
第8章 sql server關係資料庫 224
8.1 sql server如何管理記憶體 224
8.1.1 記憶體組織 225
8.1.2 讀和寫 225
8.1.3 性能影響 226
8.2 存儲過程 226
8.3 批量命令 228
8.3.1 使用sqldataadapter 228
8.3.2 構建參數化命令串 231
8.4 事務 233
8.5 多結果集 238
8.5.1 使用sqldatareader. nextresult() 238
8.5.2 使用sqldataadapter和dataset 239
8.6 數據預快取 240
8.6.1 方法 240
8.6.2 預快取基於表單的數據 241
8.6.3 預快取每次一個頁面的數據 241
8.7 數據訪問層 242
8.8 查詢和結構最佳化 243
8.9 其他查詢最佳化指導原則 251
8.10 數據分頁 251
8.10.1 公用表表達式 251
8.10.2 數據分頁的詳細示例 252
8.11 對象關係模型 258
8.12 xml列 259
8.12.1 xml架構 260
8.12.2 創建示例表 261
8.12.3 基本xml查詢 262
8.12.4 修改xml數據 263
8.12.5 xml索引 263
8.12.6 其他xml查詢技巧 264
8.13 數據分區 264
8.13.1 分區函式 265
8.13.2 分區架構 265
8.13.3 生成測試數據 266
8.13.4 添加索引,配置鎖升級 268
8.13.5 存檔舊數據 269
8.13.6 小結 269
8.14 全文搜尋 269
8.14.1 創建全文目錄和索引 270
8.14.2 全文查詢 271
8.14.3 獲得搜尋分級的細節 271
8.14.4 全文搜尋語法小結 271
8.15 service broker 272
8.15.1 啟用和配置service broker 273
8.15.2 傳送訊息的存儲過程 274
8.15.3 使用存儲過程接收訊息 274
8.15.4 測試示例 275
8.15.5 避免中毒訊息 276
8.16 通過service broker傳送e-mail 276
8.16.1 創建後台工作執行緒 277
8.16.2 讀取並處理信息 278
8.16.3 排隊訊息和傳送郵件的web窗體 280
8.16.4 結果 282
8.17 數據變化通知 283
8.17.1 查詢約束 283
8.17.2 示例:簡單的配置系統 284
8.18 resource governor 287
8.18.1 配置 287
8.18.2 測試 290
8.19 橫向擴展與縱向擴展 290
8.19.1 縱向擴展 290
8.19.2 橫向擴展 291
8.19.3 確定系統瓶頸 292
8.20 高可用性 293
8.21 其他方面的性能提示 294
8.22 小結 295
第9章 sql server analysis services 297
9.1 分析服務概覽 297
9.2 mddb示例 299
9.2.1 rdbms結構 299
9.2.2 數據源視圖 300
9.2.3 cube 303
9.2.4 時間維度 303
9.2.5 items和users維度 305
9.2.6 計算的成員 306
9.2.7 部署和測試 307
9.3 示例mdx查詢 307
9.4 adomd.net 313
9.4.1 單個單元格結果示例 313
9.4.2 使用gridview顯示多行結果 315
9.5 使用ssis更新cube 316
9.6 預先快取 319
9.6.1 數據存儲選項 319
9.6.2 快取模式 320
9.7 使用中間資料庫 323
9.8 小結 324
第10章 基礎和運維 325
10.1 插樁 325
10.2 容量規劃 329
10.3 磁碟子系統 330
10.3.1 隨機每秒鐘i/o次數與順序每秒鐘i/o次數 330
10.3.2 ntfs碎片 331
10.3.3 磁碟分區設計 333
10.3.4 raid選項 334
10.3.5 存儲陣列網路 336
10.3.6 控制器快取 337
10.3.7 固態磁碟 337
10.4 網路設計 338
10.4.1 巨型幀 338
10.4.2 連結集成 339
10.5 防火牆和路由器 340
10.5.1 windows防火牆和防病毒軟體 341
10.5.2 使用路由器作為硬體防火牆的替代方案 341
10.6 負載均衡器 341
10.7 dns 342
10.8 臨時環境 343
10.9 部署 343
10.9.1 數據層升級 344
10.9.2 提高部署速度 344
10.9.3 頁面編譯 345
10.9.4 預熱快取 345
10.10 伺服器監控 346
10.11 小結 347
第11章 綜合起來 348
11.1 從何處入手 348
11.2 開發過程 349
11.2.1 組織 350
11.2.2 項目階段和里程碑 350
11.2.3 編碼 351
11.2.4 測試 351
11.2.5 bug跟蹤 351
11.2.6 用戶反饋 352
11.2.7 高性能的技巧 352
11.3 league 354
11.4 工具 355
11.5 架構 356
11.6 備忘錄 357
11.6.1 原則和方法(第1章) 357
11.6.2 客戶端性能(第2章) 357
11.6.3 快取(第3章) 359
11.6.4 iis 7(第4章) 360
11.6.5 asp.net執行緒和會話(第5章) 361
11.6.6 使用asp.net實現並管理最佳化技術(第6章) 361
11.6.7 管理asp.net套用策略(第7章) 362
11.6.8 sql server關係資料庫(第8章) 363
11.6.9 sql server分析服務(第9章) 364
11.6.10 基礎設施和運維(第10章) 364
11.7 小結 365
辭彙表 367