內容簡介
性能調優有時被稱為“黑色藝術”,因為有時有效地調整一個係統,要求具有更深層次的知識,且需要瞭解一個係統的硬件和軟件組成以及係統之間的相互作用。性能優化是針對特定環境來定製係統的配置過程,或者是讓某個特定的應用程序得到更好的響應時間或吞吐量的過程。
本書首先對 Linux 操作係統進行瞭深入剖析,並對最常用的企業監控工具Benchmark 及其他監控工具進行瞭詳細的介紹,此外分析瞭係統中識彆和分析瓶頸的過程,最後闡述如何使用性能衡量工具,以及如何對係統4 大子係統進行調整,使係統以好的狀態應對不同的工作環境。
本書適閤廣大 Linux 用戶深入學習,並適閤計算機專業本科、碩士等專業的學生學習參考。
作者簡介
趙永剛,2006-2008年期間主要從事思科網絡研究,並在2008年獲得思科CCNA 與CCNP國際認證。2009至今一直在從事Linux係統的研究,並在2009年和2010年分彆獲得紅帽RHCE和RHCA國際認證。
目錄
第1章 深入理解Linux操作係統 1
1.1 Linux進程管理 1
1.1.1 什麼是進程 2
1.1.2 進程的生命周期 2
1.1.3 綫程 3
1.1.4 進程優先級和nice等級 4
1.1.5 上下文切換 4
1.1.6 中斷處理 5
1.1.7 進程狀態 5
1.1.8 進程的內存段 6
1.1.9 Linux CPU調度程序 7
1.2 Linux內存體係結構 8
1.2.1 物理內存和虛擬內存 8
1.2.2 虛擬內存管理 10
1.3 Linux文件係統 12
1.3.1 虛擬文件係統 12
1.3.2 文件係統日誌 13
1.3.3 Ext2 13
1.3.4 Ext3 15
1.3.5 Ext4 15
1.3.6 XFS 18
1.3.7 Btrfs 19
1.3.8 JFS 20
1.3.9 ReiserFS 20
1.4 Linux 磁盤 I/O 子係統 20
1.4.1 I/O子係統的體係結構 20
1.4.2 Cache 20
1.4.3 塊層 23
1.4.4 I/O 設備驅動程序 25
1.4.5 RAID與文件係統 26
1.5 Linux 網絡子係統 26
1.5.1 網絡化的實現 26
1.5.2 TCP/IP 30
1.5.3 Offload 32
1.5.4 Bonding模塊 32
1.6 瞭解Linux性能度量標準 32
1.6.1 處理器度量標準 32
1.6.2 內存度量標準 33
1.6.3 塊設備度量標準 34
1.6.4 網絡接口度量標準 34
第2章 監控工具 35
2.1 介紹 35
2.2 工具功能概述 35
2.3 監控工具 36
2.3.1 top 36
2.3.2 uptime 38
2.3.3 ps、pstree 38
2.3.4 free 43
2.3.5 mpstat 44
2.3.6 vmstat 46
2.3.7 iostat 50
2.3.8 netstat、ss 53
2.3.9 sar 58
2.3.10 numastat 70
2.3.11 pmap 72
2.3.12 iptraf 73
2.3.13 tcpdump和wireshark 76
2.3.14 strace和ltrace 92
2.3.15 gnuplot 97
2.3.16 Gnome System Monitor 106
2.3.17 KDE System Guard 114
第3章 Benchmark工具 123
3.1 CPU2006 124
3.1.1 安裝與運行 126
3.1.2 runspec命令 130
3.1.3 配置文件 139
3.2 STREAM 167
3.2.1 什麼是STREAM 167
3.3 Bonnie++ 172
3.4 Netperf 177
3.4.1 Netperf介紹 177
3.4.2 Netperf設計 178
3.4.3 CPU使用率 179
3.4.4 全局命令行選項 181
3.4.5 使用Netperf測量“批量數據”傳輸 186
3.4.6 使用Netperf測量“請求/響應” 192
3.4.7 使用netperf來測試總體性能 196
3.4.8 使用netperf測量雙嚮傳輸 201
3.4.9 omni測試 203
3.4.10 其他的nerperf測試 206
第4章 分析性能瓶頸 208
4.1 識彆係統瓶頸 208
4.1.1 收集信息 208
4.1.2 分析服務器性能 210
4.2 CPU瓶頸 210
4.2.1 查找CPU瓶頸 211
4.2.2 SMP 211
4.2.3 性能調整選項 211
4.3 內存瓶頸 212
4.3.1 查找內存瓶頸 212
4.3.2 性能調整選項 213
4.4 磁盤瓶頸 214
4.4.1 查找磁盤瓶頸 214
4.4.2 性能調整選項 216
4.5 網絡瓶頸 216
4.5.1 查找網絡瓶頸 216
4.5.2 性能調整選項 217
第5章 調整操作係統 218
5.1 調整原則 218
5.1.1 變更管理 219
5.2 安裝注意事項 219
5.2.1 安裝 219
5.2.2 檢查當前的配置 220
5.2.3 最小化資源使用 227
5.2.4 SELinux 231
5.2.5 編譯內核 232
5.3 更改內核參數 233
5.3.1 proc文件係統 233
5.3.2 存儲參數的位置 235
5.3.3 使用sysctl命令 235
5.4 調整處理器子係統 235
5.4.1 調整進程優先級 236
5.4.2 CPU親和力 237
5.4.3 平衡中斷 240
5.4.4 NUMA係統 240
5.5 調整內存子係統 243
5.5.1 內存迴收(設置內核交換和刷新髒數據行為) 243
5.5.2 調整swap 245
5.5.3 HugeTLBfs 247
5.5.4 內存同頁閤並 250
5.6 調整磁盤子係統 252
5.6.1 安裝Linux前的硬件注意事項 252
5.6.2 I/O調度的調整和選擇 254
5.6.3 文件係統的選擇和調整 258
5.6.4 虛擬化存儲 261
5.7 調整網絡子係統 263
5.7.1 網卡綁定 263
5.7.2 巨幀 265
5.7.3 速度與雙工模式 266
5.7.4 增加網絡緩衝區 268
5.7.5 增加數據包隊列 270
5.7.6 增加傳輸隊列長度 270
5.7.7 配置offload 271
5.7.8 Netfilter 對性能的影響 272
5.7.9 流量特性的注意事項 275
5.7.10 額外的TCP/IP調整 276
5.8 限製資源使用 278
精彩書摘
這可能是最直接的指標。它描述瞭每個處理器的整體使用率。如果在一段持續時間內CPU的使用率超過80%,則處理器可能有瓶頸。用戶進程消耗CPU的時間。描述瞭CPU花費在用戶進程的百分比,包括nice time。較高值的user time通常是有利的,因為,在這種情況下,係統在執行實際的工作。內核操作消耗CPU的時間。其描述瞭CPU花費在內核操作的百分比,包括IRQ和softirq時間。較高和持續的systemtime值可以指齣在網絡和驅動程序堆棧中你的瓶頸。一個係統通常應保持花在內核操作上的時間盡可能的少。等待。CPU花費在等待(由於一個I/O操作發生等待)上的時間總量,像是阻塞值。一個係統不應該花費太多時間等待(因為I/O操作);否則應該檢查各自的I/O子係統性能。 CPU空閑時間。其描述瞭係統空閑等待任務的CPU百分比。 Nice消耗CPU時間。描述瞭CPU花費在re.nicing進程(更改進程的執行順序和優先級)上的時間百分比。 平均負載。load average不是一個百分比,而是以下總和的滾動平均值:隊列中等待處理的進程數。 等待不可中斷任務被完成的進程數。 可運行的進程。這個值描述瞭已經準備好執行的進程數。在一段持續的時間內,這個值不應該超過物理處理器數量的10倍。否則處理器可能是瓶頸。 阻塞的進程。不被執行的進程數,因為它們要等待I/O操作結束。阻塞的進程數能反映齣是否有I/O瓶頸。 上下文切換。在係統上發生綫程之間切換的數量。大量上下文切換如果與大量中斷相關,則可能是驅動程序或應用程序齣現問題的信號。上下文切換通常是不利的,因為每一次上下文切換都會導緻CPU緩存被刷新,但是有些上下文切換是必要的。參考1.1.5節的內容。 中斷。中斷包含硬中斷與軟中斷。硬中斷對係統性能有更加不利的影響。較高的中斷值錶明可能有軟件瓶頸,可能是在內核中,也可能是一個驅動程序齣現瓶頸。記住,中斷還包括CPU時鍾引起的中斷。參考1.1.6節的內容。 ……
前言/序言
Linux性能優化大師 下載 mobi epub pdf txt 電子書