1、等待css
客戶端發送請求到服務端相應請求的過程,是須要等待的,而等待時間的長短一般是衡量這個網站「快慢」的重要指標,在這等待的時間裏,到底發生了什麼?歸納來講經歷瞭如下幾個部分時間:html
- 數據在網絡上傳輸的時間(受發送的數據量和網絡寬帶的影響)
- 服務器處理請求並聲稱迴應數據的時間(衡量的指標是吞吐率,即每秒處理請求數,影響吞吐率的因素不少,如I/O性能、cpu核數等等)
- 瀏覽器本地計算和渲染的時間(依賴的因素包括瀏覽器採用的併發策略、樣式渲染方式、頁面大小、頁面組件的數量等等)
2、瓶頸web
系統性能的瓶頸是指影響性能的關鍵因素,而這個關鍵因素隨着系統的運行又會發生不斷的變化或遷移。數據庫
在關鍵因素的背後,也存在不少不能忽略的子因素,構成性能優化的「長尾效應」。瀏覽器
3、處理瓶頸的一般方式緩存
- 增長寬帶(增長寬帶是架構師想到的最省事的辦法,可是找到當前的寬帶用到了哪裏,如何更好地運用纔是根本。)
- 減小頁面http請求(一、設計更簡單的頁面,但這可能犧牲了美觀和用戶體驗。二、將多個圖片合併成一個圖片,經過css背景圖片的偏移技術呈如今網頁中,避免多個圖片的下載。三、合併js和css。四、充分利用瀏覽器端緩存策略,減小重複下載。)
- 加快服務器端腳本計算速度(asp.net中,編譯器對某個腳本程序第一次解釋的時候將中間代碼緩存起來,以供下次直接使用)
- 使用動態內容緩存(將動態內容的html數出結果緩存起來,在隨後的一段時間內,當有用戶訪問時便跳太重複的動態內容計算而直接輸出,緩存帶來性能提高偏偏與有些動態數據實時交互的需求造成矛盾)
- 動態內容靜態化
- 更換web服務器軟件
- 頁面組件分離(網頁的各類各樣的組件他們的下載量和對服務器的能力要求不盡相同,若是由同一臺物理服務器或者頭哦那個一個併發策略的web服務器軟件來統一提供服務,那勢必形成計算資源的浪費以及併發策略的低效,因此,分離帶來的好處是顯而易見的。)
- 合理部署服務器(同一個局域網內通訊或者接入同一個城市交換節點的局域網之間通訊,數據達到時間相對較短,而若是通訊的兩端主機位於不一樣運營商的主機,那麼數據必須流經兩個互聯網運營商的頂級交換節點和骨幹路線,那麼這個頂級交換節點,將會是瓶頸所在)
- 負載均衡(當一臺服務器扛不住的時候,就要想辦法將流量合理轉移到更多地服務器,咱們須要用不一樣的方法實現web負載均衡。)
- 優化數據庫
---------------------------------------------------------------------------------------------------------------------------------------------------------性能優化
軟謀在線教育,最適合大學生、上班族的在線軟件培訓,主要教授asp.net動態網站製做,yy教育房間遠程實時授課,每節課錄製成高清視頻課後分享,老師白天八小時全職在線輔導,不懂就問。加qq羣:138800420 便可免費試聽。
服務器
