高性能PHP套用開發

高性能PHP套用開發

《高性能PHP套用開發》是2011年11月人民郵電出版社出版的圖書。本書主要是對PHP的原理和相關的工具集來實現調優性能的圖書。

基本介紹

  • 書名:高性能PHP套用開發
  • ISBN:9787115264954
  • 定價:39.00元
  • 出版社:人民郵電出版社
  • 出版時間:2011年11月
出版信息,內容簡介,目錄,

出版信息

ISBN:9787115264954
定價:39.00元
作者:[美]Armando Padilla Tim Hawkins 著
譯者:盛海艷 劉霞
出版社:人民郵電出版社
出版時間:2011年11月
版次:1.1
開本:16開
裝幀:平裝
字數:284千字
頁數:177頁

內容簡介

《高性能PHP套用開發》是一本廣受好評的PHP性能最佳化方面的圖書,通過介紹PHP的原理和相關的工具集來實現調優性能的目的。它分析和研究了Web應用程式的前端和後端,並系統地提升了其性能和運行效率。本書還介紹了PHP編碼最佳實踐的運用以及如何使用工具來套用快取技術。另外書中也涉及了對Web伺服器的最佳化和資料庫的最佳化。

目錄

第1章 基準測試技術 1
1.1 PHP應用程式棧 1
1.2 基準測試實用工具 2
1.3 定義請求/回響生命周期 3
1.4 Apache Benchmark 4
1.4.1 安裝Apache Benchmark 4
1.4.2 運行Apache Benchmark 5
1.4.3 弄清回響的含義 6
1.4.4 ab選項標記 8
1.4.5 ab陷阱 11
1.5 Siege 12
1.5.1 安裝Siege 12
1.5.2 運行Siege 13
1.5.3 分析結果 13
1.5.4 Siege選項標記 15
1.5.5 測試很多URL 15
1.6 影響基準測試數字 16
1.6.1 地理位置 16
1.6.2 旅行的數據包 16
1.6.3 回響的大小 16
1.6.4 代碼複雜性 17
1.6.5 瀏覽器行為 18
1.6.6 Web伺服器設定 18
1.7 小結 19
第2章 提高客戶端下載和呈現性能 20
2.1 最佳化回響的重要性 21
2.2 Firebug 21
2.2.1 安裝Firebug 22
2.2.2 Firebug性能選項卡 22
2.2.3 Console選項卡 23
2.2.4 Net選項卡 25
2.3 YSlow 26
2.3.1 YSlow v2規則集 26
2.3.2 安裝YSlow 27
2.3.3 啟動YSlow 28
2.4 Page Speed 30
2.4.1 安裝Page Speed 31
2.4.2 運行中的Page Speed 31
2.5 最佳化工具 32
2.5.1 JavaScript最佳化 33
2.5.2 JavaScript的放置位置 33
2.5.3 精簡JavaScript 36
2.6 精簡工具 37
2.7 YUI Compressor 38
2.8 Closure Compiler 38
2.8.1 減少資源請求 39
2.8.2 使用伺服器端壓縮 39
2.9 圖像壓縮 39
第3章 PHP代碼最佳化 43
3.1 PHP最佳實踐 43
3.1.1 PHP的經濟性 45
3.1.2 require與require_once 45
3.1.3 提前計算循環長度 47
3.1.4 使用foreach、for、while循環訪問數組元素 49
3.1.5 檔案訪問 50
3.1.6 更快速地訪問對象屬性 52
3.2 使用VLD、strace和Xdebug一探究竟 54
3.2.1 用VLD查看Opcode函式 54
3.2.2 使用strace進行C級跟蹤 56
3.3 發現瓶頸 58
3.3.1 Xdebug 2:PHP調試工具 58
3.3.2 驗證安裝 60
3.3.3 安裝基於GUI的工具 61
3.4 小結 64
第4章 Opcode快取 65
4.1 回顧路線圖 65
4.2 PHP的生命周期 66
4.3 Opcode快取工具 68
4.3.1 Alternative PHP Cache 68
4.3.2 XCache 75
4.3.3 用XCache快取 76
4.3.4 XCache設定 77
4.3.5 eAccelerator 78
4.3.6 eA設定 82
4.4 小結 84
第5章 變數快取 85
5.1 應用程式的性能路線圖 85
5.2 實現變數快取的價值 86
5.3 示例項目:創建表 87
5.3.1 獲取記錄 88
5.3.2 計算讀取資料庫的開銷 89
5.4 APC快取 93
5.4.1 將數據添加到快取中 93
5.4.2 對APC進行基準測量 94
5.5 Memcached 96
5.5.1 安裝Memcached 96
5.5.2 啟動Memcached伺服器 97
5.5.3 在PHP中使用Memcached 97
5.6 小結 101
第6章 選擇正確的Web伺服器 102
6.1 選擇適合你的Web伺服器程式包 103
6.1.1 安全性和穩定性非常重要 103
6.1.2 找到具有豐富知識的工程師非常重要 103
6.1.3 你的網站主要是靜態內容 103
6.1.4 你在託管服務中託管 103
6.1.5 你正在使用不常見的PHP擴展 103
6.2 Web伺服器的使用情況圖表 103
6.3 Web伺服器請求的處理 104
6.4 Web伺服器硬體 105
6.5 對Web伺服器進行分類 106
6.6 Apache HTTPD 106
6.6.1 Apache Daemon命令行 107
6.6.2 Apache多處理模組 108
6.7 了解Apache模組 109
6.7.1 添加動態Apache模組 110
6.7.2 刪除動態Apache模組 110
6.8 關於Apache的最後幾點 111
6.9 lighttpd 111
6.9.1 安裝lighttpd 111
6.9.2 lighttpd配置設定 113
6.9.3 比較靜態負載內容 114
6.9.4 在lighttpd上安裝PHP 115
6.10 Nginx 118
6.10.1 安裝Nginx 118
6.10.2 Windows安裝 121
6.11 Nginx作為靜態Web伺服器 122
6.11.1 安裝FastCGI PHP 123
6.11.2 Nginx基準測試 124
6.12 小結 126
第7章 最佳化Web伺服器和內容交付 127
7.1 測定Web伺服器的性能 127
7.2 了解應用程式的記憶體占用情況 129
7.3 最佳化Apache中的進程 130
7.3.1 控制Apache客戶端(PreforkMPM) 131
7.3.2 最佳化記憶體使用和防止產生交換 131
7.4 其他Apache配置調整 131
7.4.1 使用.htaccess檔案和AllowOverride 132
7.4.2 使用FollowSymlinks 133
7.4.3 使用DirectoryIndex 133
7.4.4 關閉HostnameLookup 133
7.4.5 啟用Keep-Alive 134
7.4.6 使用mod_deflate壓縮內容 134
7.5 擴展到單台伺服器之外 135
7.5.1 使用Round-Robin DNS 135
7.5.2 使用負載均衡器 135
7.5.3 使用直接伺服器返回 137
7.5.4 在伺服器場的成員之間共享會話 138
7.5.5 與已分享檔案系統共享資產 139
7.5.6 與獨立資產伺服器共享資產 140
7.5.7 與內容分發網路共享資產 140
7.6 使用分散式架構的陷阱 141
7.6.1 快取一致性問題 141
7.6.2 快取版本問題 141
7.6.3 用戶IP位址跟蹤 142
7.6.4 多米諾骨牌或級聯失敗效應 143
7.6.5 部署失敗 143
7.7 監視應用程式 144
7.8 小結 144
第8章 資料庫最佳化 145
8.1 MySQL簡介 146
8.2 了解MySQL存儲引擎 146
8.2.1 MyISAM:原始引擎 147
8.2.2 InnoDB:專業級的選擇 147
8.2.3 選擇存儲引擎 148
8.3 了解MySQL如何使用記憶體 148
8.3.1 InnoDB與MyISAM記憶體使用的比較 149
8.3.2 每伺服器與每連線(執行緒)記憶體使用的比較 149
8.4 查找配置檔案 150
8.4.1 Mysqltuner:最佳化資料庫伺服器的記憶體 151
8.4.2 示例伺服器可能出現的問題 154
8.4.3 最佳化InnoDB 155
8.5 找到有問題的查詢 155
8.6 分析有問題的查詢 157
8.7 PHP資料庫應用程式的建議 158
8.7.1 保持獨立的讀寫連線 158
8.7.2 默認使用“utf 8”(多位元組Unicode)字元集 158
8.7.3 使用“UTC”日期格式 159
8.8 小結 160
附錄A 在Windows上安裝Apache、MySQL、PHP和PECL 161
附錄B 在Linux上安裝Apache、MySQL、PHP和PECL 174

相關詞條

熱門詞條

聯絡我們