讀郭欣《構建高性能Web站點》筆記(1)

讀郭欣《構建高性能Web站點》筆記

 

1 減少網頁中的HTTP請求。

 設計更加簡單的網頁,使其包含較少的圖片和腳本,但是這可能犧牲了美觀和用戶交互。

 將多個文件合併成一個文件,利用CSS背景圖片的偏移技術呈現在網頁中,避免了多個圖片的下載。

 合併JavaScript腳本或者CSS樣式表。

 

2 加快服務器腳本計算速度。

 生成中間代碼的這部分時間又成爲大家爲獲取性能提升而瞄準的一個目標。對於一些擁有較強商業支持的腳本語言,比如ASP.NET和JSP,均有內置的優化方案。對於開源類的腳本語言,也有很多第三方組件來提供此類功能,比如PHP的APC組件等。

 

3 使用動態內容緩存。

 將動態內容的HTML輸出結果緩存起來,在隨後的一段時間內當有用戶訪問時便跳過重複的動態內容計算而直接輸出。

 緩存帶來的性能提升恰恰與有些動態數據實時交互的需求形成矛盾。

 

4 使用數據緩存。

 很多動態內容都包含了一段公用的數據,或者關係數據庫中某字段的頻繁更新和讀取。

 

5 將動態內容靜態化。

 動態網頁的靜態化。

 

6 更換Web服務器軟件。

Apache\Lighttpd\ngnix

 

7 頁面組件分離。

根據不同組件的需求,比如下載量、文件大小、對服務器各種資源的需求等,有針對性地採用不同的併發策略,並且提供最佳的物理資源。

 

8 合理部署服務器。

 

9 使用負載均衡。

簡單的HTTP重定向,或者基於DNS的輪詢解析,或者反向代理服務器實現,或者通過LVS來組建服務器集羣。

 

10 優化數據庫。 

 

11 考慮可擴展性。

 

12 減少視覺等待。

 

測試工具

1 ab

用法: ab -n1000 -c100 http://localhost/

描述: -n後面是請求次數,-c是併發數。

頁面壓力測試工具,主要查看吞吐率。

 

2 strace

描述: Linux跟蹤進程執行時的系統調用和所接收的信號。可以用來跟蹤每個系統調用次數和執行時間百分比。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章