總結篇:大型網站技術架構-性能(一)

首先說明下:網站架構的核心元素:性能、可用性、伸縮性、擴展性、安全性。

一、web前端優化

  1. 減少http請求,因爲每個請求都需要建立通信鏈路,進行傳輸,而服務器對於每個請求都會單獨創建一個線程去處理,線程多了會發生什麼,這個不用我說也知道了吧!

  2. 使用瀏覽器緩存,這個的話很簡單,對於一些資源啥的,做緩存,然後下次請求的話就不需要額外的開銷了。應該都能理解

  3. 啓用壓縮,這個字面意思已經說明了,就是對一些文件合併壓縮,額,這個對於服務器資源不足的時候才考慮,目前用的比較少。

  4. CSS放在頁頭、javascript放在頁尾(如果是頁面加載需要用到的javascript,那麼放在頁頭)。

  5. 減少cookie傳輸。

二、CDN緩存

  1. 內容分發網絡,本質還是緩存,好處是:用戶訪問瀏覽器請求資源時,會直接從CDN返回給瀏覽器,最短的路徑返回響應,加快用戶訪問速度,減少數據中心負載壓力。

三、反向代理

  1. 可以算是一種安全措施吧,用戶訪問服務器資源時,所發起的請求會通過反向代理服務器去向服務器發起請求,而不是直接請求服務器獲取資源,當然,反向代理除了安全功能的話,也能通過配置緩存加速web請求(當然了,這個我還不知道怎麼配置,沒有實踐過,不過應該還是蠻簡單的,畢竟現在網上資源太多了)

四、應用服務器性能優化

分佈式緩存
  1. (網站性能優化第一定律:優先考慮使用緩存優化,這樣可以知道一件事情,緩存是個好東西啊,哈哈哈!)說到緩存,那麼問題來了,到處都聽別人說,那麼什麼是緩存咧???
    肥羊解答:緩存啊,緩存就是指數據存儲在相對較高訪問速度的存儲介質中,然後給系統去處理。簡單吧?它的本質就是一個內存的Hash表,是以一對key,value的形式去存放的。

  2. 緩存爲什麼是個好東西呢,爲什麼要使用它咧?
    肥羊解答:額,這個簡單點說吧,首先,緩存訪問速度快啊,可以減少數據訪問的時間;其次吧,你有些數據是要經過計算處理得到的,然後你把這些結果放到緩存中了,那你下次再去做相同的操作的時候,這些被緩存的數據就不需要重複計算就可以用了唄(減少計算的作用,前提:上下文一致的情況)。

  3. 緩存雖好,但是不可亂用啊?
    肥羊解答:緩存是很好,但是要用在合適的場景下,不然就GG了,緩存主要用來存儲讀寫比很高、蠻少變化的數據,所以不要亂用咯!下面會把我理解的詳細說明下。(這個我也是剛瞭解到的,以前一直在用,沒有去想爲什麼要這樣去用,網站數據訪問通常遵循二八定律,額 不是三八定律哦!80%的訪問落在20%的數據上,那麼這20%的數據緩存好了,就能很好的改善系統性能了,提高讀取速度,降低存儲訪問壓力哦。。。。。。)

  4. 我們要合理的運用緩存,下面說下我看了一些資料後的理解啊首先打點心靈雞湯:緩存使用好了,訪問起來的感覺是棒棒的,但是不合理的使用不僅不會達到這個效果,還會成爲系統累贅,甚至一些bug,那麼問題來了,那些數據不適合放在緩存裏呢?

    1. 頻繁修改的數據:要是你的數據在短時間類是要頻繁修改的,那你放在緩存中是多餘的。
    2. 沒有熱點的訪問
    3. 數據不一致與髒讀

(貌似時間不早了,我是不是要洗洗睡覺了……………………..,那我先撤了,明天晚上繼續分享,這也是我記錄理解的一種好手段。現在在看《大型網站技術架構》這本書,寫的很好的)

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