應用程式層面的最佳化

來源:互聯網
上載者:User
應用程式層面的最佳化     效能通常的瓶頸是緩慢的查詢,鎖,CPU飽和,網路延遲和檔案I/O
    尋找常見問題
            1.各個機器上的CPU,磁碟,網路和記憶體資源的使用方式。注意檢查設定檔
            2.應用是否真正使用了所取得的資料
            3.應用和資料庫是否做了該由對方做的事情
            4.應用裡執行了太多的查詢
            5.應用無必要的串連到MySQL
            6.串連到MySQL的次數太多
            7.做了太多不必要的查詢
            8.是否使用了串連池
            9.是否使用了永久性串連
           10.是否在沒有使用的時候,開啟著串連
web伺服器     Apache使用注意事項
            1.不要把Apache用作靜態內容的服務,可以選擇lighttpd和nginx
            2.使用緩衝Proxy 伺服器,squid和varnish,可以緩衝大部分頁面,可以通過ESL技術把頁面上小塊動態部分放在緩衝的靜態部分裡
            3.對動態,靜態內容設定到期策略
            4.開啟gzip壓縮
            5.不把Apache上的長距離串連配置為Keep-Alive模式。可以用一個服務端的代理處理Keep-Alive的串連,在Apache與代理之間可以設定為Keep-Alive,因為代理只使用幾個串連從伺服器上讀取資料
緩衝     分為:主動式快取和被動緩衝
    被動緩衝只儲存資料和返回資料,比如memcached
    主動式快取找不到請求資料時,一般會把請求傳遞給應用的某一部分,產生所請求的內容,然後儲存這部分資料,並返回給用戶端,比如squid
    應用程式層面的緩衝:
            本機快取,比較小,只存在於請求處理時的進程記憶體空間裡,避免對同一資源多次請求。只是應用程式代碼裡的一個變數或一個散列表
            分布式記憶體緩衝,memcached,有效使用方法是“多取”操作
            磁碟緩衝,慢速,持久性對象適合做磁碟緩衝。常用技巧用404錯誤處理過程來捕捉沒命中的緩衝
    緩衝控制策略
            存活時間,每個緩衝對象帶有一個作廢日期,用一個刪除進程定時檢查該資料的作廢時間是否到達,可以刪除或者更新
            顯式作廢,當緩衝裡的資料過於陳舊,可以直接將該資料標誌作廢或者用新的資料替換舊快取資料(儲存對象到緩衝時,還有儲存資料所依賴的版本號碼或時間戳記)
            讀時作廢,儲存一些資訊來判斷從緩衝裡讀取的資料是否已經作廢,隨著時間的增長,開銷是固定的

聯繫我們

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