<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經轉移至github,大家請訪問 http://qaseven.github.io/

    書筆記:網站架構之性能篇

    錄:
      一、網站性能測試
      二、Web前端性能優化
      三、應用服務器性能優化(重點)
      四、存儲性能優化
      PS:本文為《大型網站技術架構 & 核心原理與案例分析(李智慧 著)》一書的讀書筆記
      // =======================================================================================
      網站性能測試
      一、不同視角下的網站性能
      1、用戶視角:直觀視覺感受
      2、開發人員視角:響應延遲、吞吐量、并發處理能力等
      3、運維人員視角:基礎設置資源利用率
      二、性能測試指標
      1、響應時間:請求從發出到處理完接收的時間
      2、并發數:同時處理請求的數量,即同時提交請求的用戶數
      3、吞吐量:單位時間內處理請求的數量
      *:隨著并發數增大:系統吞吐量先逐漸增加到極限,之后反而下降;系統響應時間先是小幅上升,當吞吐量達到極限后快速上升
      4、性能計數器:服務器監控指標,如CPU、內存、磁盤IO、網絡IO
      三、性能測試(壓測)方法
      *:不斷增加系統訪問壓力(并發請求數),以獲取系統性能指標數據
      四、性能測試(壓測)報告
      *:要能夠反應壓測的系統性能曲線規律,閱讀者能評估系統性能是否能滿足需求
      // ===========================================================
      Web前端性能優化
      一、瀏覽器訪問優化
      1、減少http請求:每次獨立的http請求的通信和服務開銷都很昂貴,可通過合并CSS、JS、圖片等方式減少http請求數
      2、使用瀏覽器緩存:通過設置http頭的Cache-Control和Expires屬性設定瀏覽器緩存,將CSS、JS、圖片等較少變更的資源緩存下來
      3、啟用壓縮:文件壓縮可減少通訊傳輸的數據量,文本壓縮率可達80%以上,但壓縮解壓會增加計算壓力(權衡)
      4、CSS渲染放最上面,JS功能腳本放最下面:使用戶視覺感受先已經看到頁面
      二、CND加速
      *:部署在網絡運營商機房,用戶請求路由的第一條就到達CND服務器,有效降低請求時間
      三、反向代理
      *:部署在網站機房內,用戶請求先到達反向代理服務器,有3個主要功能
      1、加速Web請求:通過配置緩存功能來實現
      2、安全:在用戶請求和應用服務器間建立一個屏障
      3、負載均衡:均勻分發請求到應用服務器
      // ===========================================================



    應用服務器性能優化
      一、分布式緩存(memcache)
      *:網站性能優化第一定律:優先考慮緩存
      1、緩存的基本原理:本質為內存Hash表
      *:數據以Key、Value對形式存儲在內存Hash表中。通過Hash(Key)得到HashCode,即Value對應內存的位置
      2、合理使用緩存
      *:不適合緩存的數據:頻繁修改(寫導致緩存中的數據失效)、沒有熱點、一致性要求高(緩存設有失效時間,這段時間內可能有臟數據)
      *:緩存預熱:緩存剛起來時為空數據,最好在使用前預加載數據庫數據
      *:緩存雪崩:當緩存服務器崩潰時,所有請求會落到數據庫導致數據庫宕機。好的方法是使用分布式緩存服務器提高緩存可用性
      *:緩存穿透:不正確或者惡意的請求可能落在某個不存在的Key導致頻繁讀數據庫,一個簡單對策將不存在的Key也緩存起來
      3、分布式緩存架構
      *:一種是以JBossCache為代表的,每個緩存服務器數據相同,需同步更新的分布式緩存(很少用)
      *:一種是以Memcache為代表的,每個緩存服務器數據部相同,之間不需要通信的分布式緩存。應用程序通過一致性Hash等路由算法選擇具體的緩存服務器
      4、Memcache的特點
      *:簡單的通行協議:TCP的,一套基于簡單文本的自定義協議(一個命令關鍵字+一組命令操作數,如get <key>)
      *:豐富的客戶端程序:幾乎支持所有主流語言(因為通信協議簡單)
      *:高性能的網絡通信:基于Libevent,提供穩定的長連接
      *:高效的內存管理::簡單固定的內存空間分配,slab_class=>slab=>chunk
      *:互不通信的集群架構:客戶端路由算法一致性Hash更成為數據存儲伸縮性架構的范例
      二、異步操作
      *:使用消息隊列將調用異步化,可改善網站的擴展性
      *:消息隊列:用戶請求發送給消息隊列后立即返回,再由消費隊列的消費者進程將消息異步寫入數據庫,具有很好的削峰作用
      三、使用集群
      *:利用集群解決高并發問題,前端用負載均衡技術將請求均勻分發到多臺服務器上(不單單局限在應用服務器)
      四、代碼優化
      1、多線程
      *:線程的優點:比進程更輕量,占用更少系統資源,切換代價更小
      *:使用多線程的2個主要原因:IO阻塞(阻塞時可以調用其他線程處理)和多CPU(最大限度使用CPU)
      *:線程數估算公式:啟動線程數 = [ 任務執行時間 / ( 任務執行時間 - IO等待時間 ) ] * CPU核數
      *:線程安全問題實質:多線程并發對某塊內存進行修改操作(對象、內存、文件、數據庫等)
      *:線程安全問題解決思路:對象設計為無狀態,使用局部變量,并發訪問加鎖等
      2、資源復用
      *:開銷較大的系統資源:數據庫連接,網絡Socket連接,線程,復雜對象等
      *:資源復用的2個方法:單例模式和對象池,都可以防止不必要的創建和銷毀操作
      3、數據結構和算法
      *:靈活組合數據結構和算法優化程序執行復雜度,如Hash等
      // ===========================================================
      存儲性能優化
      一、機械硬盤和固態硬盤
      1、機械硬盤:每次訪問數據都需要移動磁頭臂(物理運動),故數據連續訪問和隨機訪問性能表現差別大
      2、固態硬盤:沒有機械裝置,數據存儲于硅晶體中,有更好的性能??煽啃裕詢r比還有待提升,但逐步取代機械硬盤是遲早的事
      二、B+樹和LSM樹
      1、由于機械硬盤具有快速順序讀寫,慢速隨機讀寫的特性,故應用程序選擇存儲結構和算法極為重要
      2、B+樹是一種專門針對磁盤存儲而優化的N叉排序樹,目前數據庫多采用兩級索引,樹的層次最多三層
      3、LSM樹可以看為一個N階合并樹,數據寫操作都在內存中進行,目前許多NoSQL都采用LSM樹作為主要數據結構
      三、RAID和HDFS
      1、RAID,即廉價磁盤冗余陣列,主要是為了改善磁盤訪問延遲,增加磁盤可用性和容錯能力(數據在多塊磁盤并發讀寫和數據備份)
      2、HDFS,即分布式文件系統,Hadoop的文件系統,系統在整個存儲集群的多臺服務器上進行數據并發讀寫和備份

    posted on 2013-12-10 10:44 順其自然EVO 閱讀(295) 評論(0)  編輯  收藏 所屬分類: 性能測試

    <2013年12月>
    24252627282930
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲www在线观看| 女人让男人免费桶爽30分钟| 久久久久亚洲精品无码网址色欲 | 亚洲综合图片小说区热久久| 免费A级毛片无码久久版| 丁香花免费高清视频完整版| 欧洲人成在线免费| 人成电影网在线观看免费| 亚洲精品伦理熟女国产一区二区 | eeuss影院免费92242部| 爱情岛论坛亚洲品质自拍视频网站| 亚洲美女视频网址| 亚洲av色福利天堂| 亚洲精品白浆高清久久久久久| 日产国产精品亚洲系列| 国产99视频精品免费视频7| 成人无码区免费视频观看| 波多野结衣在线免费观看| 又大又硬又爽又粗又快的视频免费| 免费国产成人午夜在线观看| 青青操在线免费观看| 9久热这里只有精品免费| jizz免费在线观看| 一个人看的免费视频www在线高清动漫 | 国产亚洲精品无码成人| 亚洲熟妇中文字幕五十中出| 亚洲乱亚洲乱少妇无码| 亚洲国产天堂久久久久久| 亚洲第一页综合图片自拍| 亚洲精品成a人在线观看| 亚洲国产成人久久一区久久| 亚洲av再在线观看| 亚洲精品无码成人片在线观看| 亚洲AV无码一区二区三区在线观看 | 亚洲a在线视频视频| 亚洲精品综合一二三区在线| 亚洲AV人无码综合在线观看| 亚洲人成网站影音先锋播放| 亚洲美免无码中文字幕在线| 亚洲一区二区三区亚瑟 | 大陆一级毛片免费视频观看i|