系統架構性能優化思路

本身簡單總結了一下這方面的東西,語言都比較簡單,主要是爲了看到可以想起來相關內容。
從持久層開始向展示層說:

持久層java

    一、存儲選型
          存儲器類型(IDE/SCSI/SSD磁盤、網絡存儲NFS等)
          數據庫類型(MySql、Oracle、SQLServer等)
    二、數據拆分,垂直切分水平切分。垂直切分爲按模塊切分,不一樣模塊劃分到不一樣的存儲單元,緩解單個存儲單元的IO壓力;水平切分爲分佈式數據庫,可按數據的所屬機構切分,減小每一個存儲單元的數據量;
    三、讀寫分離
        主從模式,1主多從,主寫從讀。讀寫壓力分開,也能夠解決讀寫的鎖衝突等
    四、數據庫負載均衡
       如OracleRAC
    五、raid技術提速冗餘容災
        一份數據同時向多塊存儲寫,存儲器實現,對存儲邏輯也是透明的。
    六、數據庫調優
         數據庫使用的存儲量、內存緩存量、線程數、其餘資源使用量配置。
    七、業務表結構優化
         表結構合適的拆分,以性能爲目標的制定冗餘信息,數據庫索引優化等
業務層
     一、語言機制
          資源鏈接池
          異步處理
          多線程處理
          針對java,jvm參數調優
     二、通用高效組件
         全文檢索nuts、lucene
         緩存框架memcache、redis
     三、業務代碼優化
          語言改進(跨語言遷移方案:拆分模塊、按模塊逐步改進、新舊並行、新替換舊)
          邏輯改進 高內聚低耦合
     四、中間件負載均衡
          集羣、F5等
     
展示層
     一、CDN內容分發網絡
           提高不一樣區域訪問速度、解決網站流量限制,下降硬件門檻等
           CDN原理   
                   用戶提交域名 ->瀏覽器解析域名 ->CDN-DNS-Server返回CNAME ->瀏覽器對CNAME解析 ->獲得CDNServer的IP ->訪問CDNServer -> CDNServer經過內部DNS緩存返回目的IP ->瀏覽器訪問IP ->瀏覽器解析響應內容
     二、頁面架構
          不易變內容使用靜態頁面、數據異步加載、頁面緩存
     三、頁面內容優化
          減少頁面大小
          減小零碎小資源文件
          應用CSS定製樣式
相關文章
相關標籤/搜索