當前位置:首頁 >  站長 >  建站經驗 >  正文

分享高性能網站構架的7個方面

 2022-05-07 14:43  來源: 網絡綜合   我來投稿 撤稿糾錯

  域名預訂/競價,好“米”不錯過

一、優(yōu)化網站響應時間的架構方案:

網站能不能留的住用戶,一方面是看內容,另一方面是看響應時間。通常有以下幾個方式來降低網站響應時間:

1、減少HTTP請求。包括合并css和javascript。減少圖片數量,比如利用css的偏移技術來在一個圖片中選擇不同的位置內容。利用瀏覽器的Cache功能,我們可以在頭中聲明是否被瀏覽器緩存。

2、動態(tài)內容靜態(tài)化。比如永久生成HTML文件。生成靜態(tài)文件并設定生存時間,到期后查詢新的動態(tài)內容進行替換。

3、優(yōu)化數據庫。數據庫的性能對于項目整體性能中是重中之重。設計良好的Mysql比亂糟糟的Mysql性能高出N個數量級,更別論再引入NOSQL了,比如Redis,MongoDB。

4、使用負載均衡。將請求合理的分發(fā)到更多服務器。

5、使用緩存。把花費時間和資源成本高昂的計算結果取出緩存起來,避免重復計算。比如在Mysql前面擋一層Memcached。比如生成一個文件,使用的時候include進來。再比如PHP中的OPCACHE等。

二、壓力測試的架構方案:

吞吐率是指單位時間內處理的請求數,單位reqs/s。最大吞吐率是指單位時間內能夠處理的最大請求出。模擬足夠多的人數和并發(fā)請求來測試最大吞吐率的方法叫做壓力測試。比如Apache自帶的ab(Apache Bench)。ab的參數很多,常用的有請求數(-n),并發(fā)用戶數(-c),超時時間(-t),長連接(-k),附件一個Cookie(-c name=value)

$ab -c 10 -n 1000 http://localhost/

三、長連接的架構方案 : 每次請求都需要TCP的三次握手,握手完比表示連接正式聯(lián)通,之后再發(fā)送數據。那么,把N個請求,就需要3N次握手,傳遞N次數據,得到N次響應,總共5N。如果把N個請求合成一個請求,就是3次握手,1次傳遞數據,1次返回響應,共5次。但是,有時候我們需要上一次響應的返回結果來發(fā)送新一輪的請求,在這個時候,合并請求并不好實現(xiàn),這就需要長連接。使用起來很簡單,在頭中包含如下:

Connection: Keep-Alive

客戶端和服務器端都可以設置長連接的最大時間,當兩者不統(tǒng)一時以小的一方為準。開啟長連接后進行壓力測試:

發(fā)現(xiàn)提升不止三五倍。本機是提升了8倍的性能。

四、提高Mysql的響應速度的架構方案 : Handlerocker是日本的一位架構師開發(fā)。Mysql的一種插件。Handlerocker實現(xiàn)了繞過Mysql的SQL解析層。在Mysql5.1以上版本可以使用,詳情可以查看Mysql手冊。這里就不在闡述。

五、Mysql主從復制的架構方案 : 在分布式部署中,1臺主庫,N臺從庫。主庫只寫,從庫只查。主庫從庫數據需要實現(xiàn)統(tǒng)一,這就是主從復制。

優(yōu)點是: 1、從庫備份時,主庫可以繼續(xù)處理更新。

2、優(yōu)化響應時間。 3、增加健壯性。主庫掛了可以切換到從庫作為備份。 主從復制的實現(xiàn)過程有三步,1個在主庫,2個在從庫:

1、主庫服務器將用戶對數據庫更新的操作以二進制格式保存到Binary Log日志文件。然后Binlog Dump線程將Binary Log日志文件傳輸給從庫服務器。

2、從庫服務器通過一個I/O線程將主庫服務器的Binary Log日志文件中的更新操作復制到一個叫做Relay Log中的中繼日志文件中。

3、從庫服務器通過另一個SQL線程Relay Log中繼日志文件中的操作依次在本地執(zhí)行,從而實現(xiàn)主從數據庫之間數據的同步。 本篇只是簡單的列出方案,詳細的配置和實現(xiàn)步驟將在另一篇中寫到。

六、代理的架構方案 : 讀取內存的速度是讀取硬盤的100000-1000000倍。把訪問過的頁面緩存在內存中,下次直接從內存中讀取,可以有效加速。 1、傳統(tǒng)代理??蛻舳税l(fā)送請求給代理服務器,代理服務器向WEB服務器取到數據并返回給瀏覽器。代理服務器就是一個有大的存儲空間的Cache。 2、反向代理。和傳統(tǒng)代理原理類似,只是使用對象不同。傳統(tǒng)代理的使用對象是客戶端,反向代理的使用對象是服務器。用戶通過反向代理訪問Web服務器,Web服務器是隱藏起來的。不過用戶不關心這些,權把代理服務器當作真實的Web服務器。反向代理有Vamish。

七、異步計算的架構方案 : 比較耗時的比如將用戶上傳的文件分發(fā)到多臺機器,比如裁剪圖片,視頻轉碼等??梢允褂卯惒椒桨?。讓用戶無須等待計算結束而是先行返回結果。代表產品有和Memcache同一家的Gearman。關于Gearman的使用可以查看PHP手冊。

申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

相關標簽
建站經驗

相關文章

  • 這是我去年交的智商稅

    這是我去年交的智商稅。因為第一次建獨立網站,自己也不會,就在某知名平臺找了建站的服務。接著,他們的業(yè)務員就開始給我介紹,最終確定了兩個方案,兩個網站的純制作費共10796塊,其余的費用還有沒加上去。

    標簽:
    建站經驗
  • 怎么做網站?做網站必須知道的四個基本常識和小竅門

    怎么做網站?隨著電子商務快速發(fā)展,網站建設已成為企業(yè)必須要做的事情。但是,不少企業(yè)和個人對做網站的基本知識仍然懵懂不清。互聯(lián)網時代,長點基本網建知識和小竅門,是必須的。下面腳本之家就為大家分享網站必須知道的四個基本常識和小竅門,希望能對大家有所幫助

    標簽:
    建站經驗
  • 建站經驗 新站我們如何通過網站基礎數據分析提升網站優(yōu)化效果

    新站上線之后要經過長達三個月的審核期,那在這個時間段內我們如何分析我們網站的優(yōu)化效果呢?因為這個時間段,收錄非常不穩(wěn)定,我們通過那些細節(jié)可以了解我們優(yōu)化手法是正確的呢?請看下文

    標簽:
    建站經驗
  • 站長經驗:網站改版讓損失降到最低需要注意的七個事項

    現(xiàn)在網站用戶需求越來越高,老網站必須要改版了,但是網站改版是我們無法回避和不得不考慮的一個問題,但是網站改版會降低權重和收錄,如何才能讓排名損失降到最低。在這里筆者列出了七條需要注意的事項,需要的朋友可以參考下

    標簽:
    建站經驗
  • 建站經驗 具體分析提高網站可用性的6大原則

    如果你的目標是希望用戶會回頭持續(xù)訪問你的網站,成為忠實用戶,那么你應該考慮提高網站可用性和以用戶為中心的設計原則,下面腳本之家分享了提高網站可用性的6大原則的,需要的朋友可以參考下

    標簽:
    建站經驗

熱門排行

信息推薦