免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

淺析淺析網站性能

2016-10-30    分類: 網站建設

一、不同角度的網站性能普通用戶認為的網站性能

網站性能對于普通用戶來說,最直接的體現就是響應時間。用戶在瀏覽器上直觀感受到的網站響應速度,即從客戶端發送請求,到服務器返回響應內容的時間。 做為網站開發人員來說,網站性能通常會和普通的用戶理解的不一樣。 普通用戶感受到的網站性能,并不只是由網站服務器決定的。它還包括客戶端計算機和服務器通信的時間,網站服務器處理響應的時間,客戶端瀏覽器構造請求解析響應數據的時間。甚至,不同的計算機性能、不同瀏覽器解析HTML的速度、不同網絡運營商提供的網絡帶寬房屋的差異,這些都會導致用戶感受到響應時間,可能大于網站服務器處理請求的時間。

開發人員認為的網站性能

開發人員關注的主要是服務器應用程序本身,以及相關配套系統的性能。包括并發處理能力、系統穩定性、響應延遲等技術指標。 對性能優化的主要手段,包括使用緩存加速數據讀取,使用集群提高數據吞吐能力,使用異步消息加快請求響應,使用代碼改善程序性能。

運維人員認為的網站性能

運維人員關注的主要是服務器基礎設施和資源利用率。如服務器硬件的配置、網絡運營商的帶寬、數據中心的網絡架構等。主要優化手段有使用高性價比的服務器、建設優化骨干網絡、利用虛擬化技術優化資源利用等。

二、性能的指標

從開發人員的角度,網站性能的指標主要有并發數和響應時間。

并發數

并發數是指系統能夠處理請求的數量,對于網站服務器而言,并發數也就是網站并發用戶數,指同時提交請求的用戶數目。 與并發數相對應的還有網站在線用戶數(登錄用戶數)和網站用戶數(一般指注冊用戶數)。他們的關系一般是:網站用戶數>網站用戶在線數>網站用戶并發數

響應時間

響應時間是最重要的性能指標,直接反映了系統的快慢。

常見的系統操作響應時間[td]

操作 響應時間

打開一個網站 幾秒

在數據庫中查詢一條記錄(有索引) 十幾毫秒

機械磁盤一次尋址定位 4毫秒

從機械磁盤順序讀取1MB數據 2毫秒

從SSD磁盤順序讀取1MB數據 0.3毫秒

從遠程分布式緩存Redis讀取一個數據 0.5毫秒

從內存中讀取1MB數據 十幾微秒

網絡傳輸2KB數據 1微秒

三、性能的優化

對于開發人員來說,網站性能優化一般包括Web前端性能優化、應用服務器性能優化、存儲服務器性能優化三類。

Web前端性能優化

1、減少http請求 http協議是無狀態的應用層協議,意味著每次http請求都需要建立通信鏈路、進行數據傳輸,而在服務器端,每個http請求都需要啟動獨立的線程去處理。減少http請求的數目可有效提高訪問性能。 減少http的主要手段是合并CSS、合并javascript、合并圖片。 2、使用瀏覽器緩存 對一個網站而言,CSS、javascript、logo、圖標,這些靜態資源文件更新的頻率都比較低,而這些文件又幾乎是每次http請求都需要的。如果將這些文件緩存在瀏覽器中,可以極好的改善性能。通過設置http頭中的cache-control和expires的屬性,可設定瀏覽器緩存,緩存時間可以自定義。 3、啟用壓縮 在服務器端對文件進行壓縮,在瀏覽器端對文件解壓縮,可有效減少通信傳輸的數據量。如果可以的話,盡可能的將外部的腳本、樣式進行合并,多個合為一個。文本文件的壓縮效率可達到80%以上,因此HTML、CSS、javascript文件啟用GZip壓縮可達到較好的效果。但是壓縮對服務器和瀏覽器產生一定的壓力,在網絡帶寬良好,而服務器資源不足的情況下要綜合考慮。 4、CSS放在頁面最上部,javascript放在頁面最下面 瀏覽器會在下載完成全部CSS之后才對整個頁面進行渲染,因此最好的做法是將CSS放在頁面最上面,讓瀏覽器盡快下載CSS。 Javascript則相反,瀏覽器在加載javascript后立即執行,有可能會阻塞整個頁面,造成頁面顯示緩慢,因此javascript最好放在頁面最下面。

應用服務器優化

應用服務器也就是處理網站業務的服務器,網站的業務代碼都部署在這里,主要優化方案有緩存、異步、集群等。 1、合理使用緩存 當網站遇到性能瓶頸時,第一個解決方案一般是緩存。在整個網站應用中,緩存幾乎無處不在,無論是客戶端,還是應用服務器,或是數據庫服務器。在客戶端和服務器的交互中,無論是數據、文件都可以緩存,合理使用緩存對網站性能優化非常重要。 緩存一般用來存放那些讀寫次數比較高,變化較少的數據,比如網站首頁的信息、商品的信息等。應用程序讀取數據時,一般是先從緩存中讀取,如果讀取不到或數據已失效,再訪問磁盤數據庫,并將數據再次寫入緩存。 緩存的基本原理是將數據存儲在相對有較高訪問速度的存儲介質中,比如內存。一方面緩存訪問速度快,另一方面,如果緩存的數據是需要經過計算處理得到的,那使用緩存還可以減少服務器處理數據的計算時間。 使用緩存并不是沒有缺陷:內存資源是比較寶貴的,不可能將所有數據都緩存,一般頻繁修改的數據不建議使用緩存,這會導致數據不一致。 網站數據緩存一般遵循二八定律,即80%的訪問都在20%的數據上。所以,一般將這20%的數據緩存,可以起到改善系統性能,提高服務器讀取效率。 2、異步操作 使用消息隊列將調用異步化,可以改善網站系統的性能。 在不使用消息隊列的情況下,用戶的請求直接寫入數據庫,在高并發的情況下,會對數據庫造成非常大的壓力,也會延遲響應時間。 在使用消息隊列后,用戶請求的數據會發送給消息隊列服務器,消息隊列服務器會開啟進程,將數據異步寫入數據庫。消息隊列服務器的處理速度遠超過數據庫,因此用戶的響應延遲可得到改善。 消息隊列可以將短時間內的高并發產生的事務消息,存儲在消息隊列中,從而提高網站的并發處理能力。在電商網站的促銷活動中,合理使用消息隊列,可以抵御短時間內用戶高并發的沖擊。 3、使用集群 在網站高并發訪問的情況下,使用負載均衡技術,可以為一個應用構建由多臺服務器組成的服務器集群,將并發訪問請求,分發到多臺服務器上處理,避免單一服務器因負載過大,而導致響應延遲。 4、代碼優化 網站的業務邏輯代碼主要部署在應用服務器上,需要處理復雜的并發事務。合理優化業務代碼,也可以改善網站性能。 任何web網站都會遇到多用戶的并發訪問,大型網站的并發用戶會達到數萬。每個用戶請求都會創建一個獨立的系統進程去處理。由于線程比進程更輕量,占用資源更少,所以,目前主流的web應用服務器都采用多線程的方式,處理并發用戶的請求,因此,網站開發多數都是多線程編程。 使用多線程的另一個原因是服務器有多個CPU,現在手機都到了8核CPU的時代,一般的服務器至少是16核CPU,要想大限度的使用這些CPU,必須啟動多線程。 那么,啟動多少線程合適呢? 啟動線程數和CPU內核數量成正比,和IO等待時間成正比。如果都是計算型的任務,那么線程數最多不要超過CPU內核數,因為啟動再多,CPU也來不及調用。如果任務是等待讀寫磁盤、網絡響應,那么多啟動線程會提高任務并發度,提高服務器性能。 或者用個簡化的公式來描述: 啟動線程數 = (任務執行時間/(任務執行事件 - IO等待時間)) * CPU內核數 5、存儲優化 數據的讀寫是網站處理并發訪問的另一瓶頸。使用緩存雖然可以解決一部分數據讀寫壓力,但很多時候,磁盤仍然是系統最嚴重的瓶頸。而且磁盤是網站最重要的資產,磁盤的可用性和容錯性也至關重要。 機械硬盤和固態硬盤 機械硬盤是目前最常用的硬盤,通過馬達帶動磁頭到指定磁盤的位置訪問數據,每次訪問數據都需要移動磁頭,在讀取連續數據和隨機訪問上,磁頭移動的次數相差巨大,因此機械硬盤的性能表現差別巨大,讀寫效率較低。而在網站應用中,大多數數據的訪問都是隨機的,在這種情況下,固態硬盤具有更高的性能。但目前固態硬盤在工藝上、數據可靠性上還有待提升,因此固態硬盤的使用尚未普及,從發展趨勢看,取代機械硬盤應該是遲早的事情。

分享名稱:淺析淺析網站性能
當前地址:http://m.newbst.com/news/54792.html

成都網站建設公司_創新互聯,為您提供品牌網站建設、網站收錄、網站營銷、響應式網站定制網站、搜索引擎優化

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

商城網站建設