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

來源:互聯網
上載者: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 反向代理

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

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)。

原文連結:HTTP://blog.csdn.net/chaofanwei/article/details/27168603

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.