天天看點

大型網站技術架構讀書筆記-高性能架構

瞬時響應:網站的高性能架構

網站性能測試

       性能測試名額:響應時間,并發數(系統同時處理請求的數目,也反映了系統的負載特性),吞吐量(機關時間内系統處理的請求數量,展現體統的整體處理能力),性能計數器(描述伺服器或作業系統性能的一些資料名額,如CPU使用,記憶體使用等)。

       性能測試是一個不斷對系統增加通路壓力,以獲得系統性能名額、最大負載能力、最大壓力承受能力的過程。性能測試方法可具體分為:

性能測試:對系統不斷施加壓力,驗證系統在資源可接受範圍内,是否能達到性能預期。
負載測試:對系統不斷地增加并發請求以增加系統壓力,知道系統的某項或多項性能名額達到安全臨界值。
壓力測試:超過安全負載的情況下,對系統繼續施加壓力,知道系統崩潰以獲得系統最大壓力承受能力。
穩定性測試:給系統加載一定業務壓力,是系統運作一段較長時間,以此檢測系統是否穩定。
大型網站技術架構讀書筆記-高性能架構
大型網站技術架構讀書筆記-高性能架構

性能優化

      性能優化根據網站分層架構可分為Web前端性能優化、應用伺服器性能優化、存儲伺服器優化。

      Web前端指網站業務邏輯之前的部分,包括浏覽器加載、網站視圖模型、圖檔服務、CDN服務等。

1、  浏覽器通路優化:減少http請求(合并CSS、合并JavaScript、合并圖檔),使用浏覽器緩存,啟用壓縮(但是對伺服器和浏覽器會産生一定壓力),CSS放在頁面   最上面(浏覽器會在下載下傳完全部CSS之後才對整個頁面進行渲染),減少Cookie傳輸。
2、  CDN(Content Distribute Network)加速,一般CDN緩存的是通路頻度很高的靜态資源。
3、  反向代理。傳統代理伺服器位于浏覽器端一側,而反向代理伺服器位于網站機房一側,代理網站Web伺服器接收HTTP請求。代理伺服器可以配置緩存功能加速Web請求,更起到安全屏障的功能。

      應用伺服器就是處理網站業務的伺服器,優化手段主要有緩存、叢集、異步等。

1、  分布式緩存。分布式緩存指緩存部署在多個伺服器組成的叢集中,其架構一種是以JBoss Cache為代表的需要更新同步的分布式緩存,一種是以Memcached 為代表的不互相通信的分布式緩存(互不通信使得叢集可以做到幾乎無限制的線性伸縮)。
2、  異步操作。使用消息隊列将調用異步化,由于消息隊列伺服器處理速度遠快于資料庫,是以使用者的響應延遲可得到有效改善。
3、  使用叢集:使用負載均衡技術為一個應用建構一個由多台伺服器組成的伺服器叢集。
4、  代碼優化:多線程,資源複用——單例(Singleton)和對象池(Object Pool),資料結構,垃圾回收。

       存儲性能雖可以通過Cache解決一部分資料讀寫壓力,但那時很多時候磁盤仍然是系統最嚴重的瓶頸,而且磁盤中存儲的資料是網站最重要的資産,可用性和容錯性也至關重要。

繼續閱讀