它包含怎麼寫網頁,一些 CSS 用法,及圖片用法,除此之外,系統面的也是有介紹到

引用 : Best Practices for Speeding Up Your Web Site

減少對網頁的 request 數量 : 這時間都是會花在下載 css、js、images 等等,可能需要適時把各別同屬性的內容合併成一個檔案,images 最好使用 CSS Sprites 方式 (參考 : 因為你的瀏覽器每載入一張圖片,就會提出一次HTTP request,155張就是155次,在背景載入一張大圖,透過參數去變換它,會遠比傳155次request有效率得多,這樣的做法就叫做CSS Sprites),還有叫 Image Maps、Inline images 用法

使用 CDN : 將瀏覽、流量分散於不同伺服器上,讓負載才不會全塞著同一台伺服器上

設定 Expires 與 Cache-Control Header : 讓瀏覽器知道什麼東西可以直接先看暫存檔裡面的就好,不用一直跟伺服器要資料,當時間到了,才會去跟伺服器重新要資料

壓縮網頁 gzip、deflate : 有些 html 或 css 、js 檔,經過伺服器壓縮後才送到瀏覽器端,檔案大小較小,傳輸也就較快點

把 CSS 放在網頁頁面最上方 (HEAD 裡面)
把 javascript 放於網頁頁面最下方
Avoid CSS Expressions
Make JavaScript and CSS External
Reduce DNS Lookups
Minify JavaScript and CSS
Avoid Redirects
Remove Duplicate Scripts
Configure ETags
Make Ajax Cacheable
Flush the Buffer Early
Use GET for AJAX Requests
Post-load Components
Preload Components
Reduce the Number of DOM Elements
Split Components Across Domains
Minimize the Number of iframes
No 404s
Reduce Cookie Size
Use Cookie-free Domains for Components
Minimize DOM Access
Develop Smart Event Handlers
Choose <link> over @import
Avoid Filters
Optimize Images
Optimize CSS Sprites
Don’t Scale Images in HTML
Make favicon.ico Small and Cacheable
Keep Components under 25K
Pack Components into a Multipart Document
Avoid Empty Image src

 

最後修改日期: 2015 年 05 月 05 日

作者

留言

作者

以下為引用: 也可以參考 http://www.qa-knowhow.com/?p=2314 1. CDN (Content Delivery Network) 2. Reverse Proxy 3. MemCached 4. Load Balance 5. 非同步處理Message Queue http://activemq.apache.org/ 網站的效能會慢另外一個原因在於 “同時” 處理大量的使用者請求。 但是許多的情境不一定需要同時或是當下處理,如此一來可以透過”時間”來減緩伺服器所能處理的工作。 舉例來說,部落客發佈的文章,是否要即寫入資料庫 And 即時通知訪客有新文章呢? 其實這是可以分階段分時間進行的。 我們可以透過非同步處理,將文章先寫入緩衝Queue, 等到訪客登入或是拜訪時再通知有新文章。類似,電子郵件的概念。寄件者存放在信箱。 收件者等到上線收到信的時候,看到信件內容再進一步處理接下來的動作。 非同步處理比較知名的就是 ActiveMQ,ActiveMQ本身也具有彈性的延展性。 可以透過增加 ActiveMQ 伺服器來達到處理更多請求。 這個架構不儘可以應用在大型網站也可應用在一般的 Client/Server 企業應用系統架構。 透過彈性增加多台 ActiveMQ可以讓原本一台Server 所能支援的 Client 連線數量從 1000到 10000。 6. Web Server 與 Application Server 分離 7. NoSQL 8. 資料庫Clustering 9. 資料的水平與垂直分割 10. 前端網頁的設計 整體網站的效能可以大致分為前端與後端。後端包含資料庫、應用程式伺服器、網路等。 前端指的是網頁的呈現與反應時間。網頁是使用者最直接接觸的畫面。因此,網頁的設計有些基本的原則: JavaScript 放在最後,CSS放在最上面 Minify JavaScript/CSS:也就是去除不必要的空白,可以減少檔案大小與下載的時間。通常程式完成後要上線前都會做這樣的動作。有許多免費的工具可以完成。 壓縮: 網站伺服器都可以設定將傳送的資料壓縮 gzip,節省網路頻寬 PNG圖形檔壓縮:選用適當大小的圖形檔,用PNG圖形檔。 減少網路來回的請求:減少網站與用戶端往返來回的 request。例如使用 Image Map 會比用許多當圖來的有效率。因為Image Map 只會做一次的 http Request。 快取:透過設定 Http Header 快取,可以讓用戶端瀏覽器對於第二次讀取的資料進行快取。 Ajax:非同步的網頁讀取動作。有部分的網頁變化可以直接在用戶端執行,不需要再次存取後端網站。 11. 商業邏輯 最後要提的是透過非技術方式解決。透過設定不同服務間的 SLA 也可以有效的減緩網站伺服器所面臨的效能問題。 舉例來說: 1000萬人同時間上網買票。可以設定為分區分時,讓上網購票的人數可以分散。不至於同一免內湧進1000萬人的狀況。 關閉不需要的服務。在特定時端時,可以關閉不需要的服務。 Timeout。當服務無法即時回覆時,提醒使用者重新嘗試。多半的情況下重新嘗試一次可能就會恢復正常。因此使用者比較不會因為全面性的當機而受到困惱。 網站之所以無法負荷往往是因為在”同一時間內”湧入”大量的請求”到”同一台伺服器”, 因此只要適當的將下列原因分解、分時、分散、問題自然就可以解決了。 同一時間 使用者大量請求 同一台伺服器

[Reply]

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。