大型網站技術架構(四)--網站的高效能架構

來源:互聯網
上載者:User

標籤:大型網站   高效能   架構   

大型網站技術架構(一)--大型網站架構演化

大型網站技術架構(二)--架構模式

大型網站技術架構(三)--架構核心要素

 

網站效能是客觀的指標,可以具體體現到回應時間、輸送量、並發數、效能計數器等技術指標。

1、效能測試指標1.1 回應時間

      指應用執行一個操作需要的時間,指從發出請求到最後收到響應資料所需要的時間。如下列出了系統常用的操作回應時間表.

操作

回應時間

開啟一個網站

幾秒

資料庫查詢一條記錄(有索引)

十幾毫秒

機械磁碟一次定址定位

4毫秒

從機械磁碟順序讀取1M資料

2毫秒

從SSD磁碟順序讀取1M資料

0.3毫秒

從遠程分布式換成Redis讀取一個資料

0.5毫秒

從記憶體讀取1M資料

十幾微妙

Java程式本地方法調用

幾微妙

網路傳輸2Kb資料

1微妙

 實踐中計算回應時間通常是通過平均時間計算的平均值。

1.2並發數

    指系統能夠同時處理的請求的數目,這個數字也反映了系統的負載效能。對於網站而言,並發數指網站使用者同時提交請求的使用者數目。
    網站系統使用者數>網站線上使用者數>網站並發使用者數

1.3輸送量

指單位時間內系統處理的請求數量,體現系統的整體處理能力。對於網站,可用“請求數/秒”或“頁面數/秒”或“訪問人數/天”或“處理業務數/小時”等來衡量。
 TPS(每秒事物數)是輸送量的一個常用量化指標。刺蝟還有HPS(每秒HTTP請求數)、QPS(每秒查詢數)。

1.4效能計數器

指作業系統的一些資料指標如System load(系統負載),CPU使用率、記憶體使用量率、磁碟等使用方式。
 

2、效能最佳化策略

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

2.1 Web前端最佳化2.1.1 瀏覽器訪問最佳化
  • 減少HTTP請求數,主要可通過合并CSS,JavaScript、圖片。
  • 使用瀏覽器端緩衝。在某些時候,靜態資源檔案編寫需要及時應用到用戶端瀏覽器,這種情況下,可通過改變檔案名稱來實現。
  • 啟用頁面壓縮,文字檔的壓縮效率可達80%以上。
  • CSS放在頁面最上面,JavaScript放在頁面最下面
  • 減少Cookie傳輸。可以考慮使用獨立網域名稱來發送Cookie等。
2.1.2 CDN加速

CDN的本質仍然是一個緩衝,只是部署在離使用者最近的伺服器上,一般緩衝的都是靜態資源。

2.1.3 反向 Proxy

除了能夠保護網站安全的作用以及負載平衡的作用外,反向 Proxy還能夠提供緩衝作用(動態資源)。

2.2 應用伺服器效能最佳化

應用伺服器就是處理網站業務的伺服器,網站的業務代碼都部署在這裡,主要最佳化手段有緩衝、叢集、非同步等。

2.2.1 分布式緩衝

緩衝主要用來存放哪些讀寫比很高、很少變化的資料。


 分布式緩衝指緩衝部署在多個伺服器組成的叢集中,以叢集方式提供快取服務,其具體架構有兩種,一種是以JBoss Cache虛擬碼的需要更新同步的分布式緩衝, 一種是以Memcached為代表的不互相通訊的分布式緩衝


 Jboss Cache 的分布式緩衝在叢集中的所有伺服器中儲存相同的快取資料,當某台伺服器有緩衝更新的時候,會通知叢集中其他機器跟新快取資料。優點是應用程式可以 從本地快速的擷取快取資料,但當叢集規模較大的時候,緩衝更新資訊需要通過到叢集所有機器,其代價可想而知。

 大型網站需要的快取資料一般都很大,可能會有TB的記憶體佔用,這時候就的使用Memcached,是一中互不通訊的架構,每台儲存的快取資料可以不一樣。

2.2.2 非同步作業

為了改善網站的擴充性,可以使用訊息佇列將調用非同步化。

 

2.2.3 使用叢集

在網站高並發訪問的情況下,使用負載平衡技術為一個應用構建一個由多台伺服器組成的叢集,將並發訪問請求分發到多台伺服器上處理。 

2.2.4 代碼最佳化

代碼最佳化主要涉及多線程、資源複用(對象池或單例)、資料結構和記憶體回收。

2.3 儲存效能最佳化

可以考慮使用分布式儲存、openfiler、磁碟陣列、HDFS(Hadoop)。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.