我們經常說的一個網站是小網或者是大型網站,都是基於流量和併發來說的。
一般來說, 一個 WordPress 企業的 WordPress 官網,不管欄目結構和功能都有什麼,只要他的流量不到一定規模,這個網站也是小網站。反過來,即使一個網站僅僅只提供文章閱讀,並沒有提供其他的一些功能,但是他的流量非常高,我們也可以說他是一個大型網站。
作為一個 Elementor 網站建設公司,經常遇到一些客戶說:我要做一個 XX 網,對你們來說非常簡單,幾萬塊錢就行了吧?
每次遇到這樣的客戶我們都苦笑不得,不厭其煩的跟他們講解大型網站開發中會遇到的問題。
一般來說,大型 Elementor 網站建設中主要是兩方面的問題:流量和併發,這兩個方面的問題又可以細分。
我們說到大型 Elementor 網站建設會遇到的兩個問題:流量和併發,今天我們著重說一下流量的問題。
流量問題,是指使用者從伺服器上獲取網站內容而進行下載所消耗的流量。說到流量,就不能不說到頻寬。伺服器頻寬是最大的也是最根本的瓶頸,也是伺服器成本組成中費用最多的部分。
這裡要科普一下,伺服器頻寬所說的 M,實際上是 Mb,而不是通常檔案大小的 MB 。而 1B=8b,所以 1M 頻寬實際下載極限速度大約是 128kb/秒。
舉個例子,一個網站的 WordPress 官網開啟需要下載頁面原始檔,各種圖片,css 檔案和 js 檔案,這些檔案加起來有 2M 大小。假設我們伺服器頻寬是 1M 的,頁面完全載入完畢要 15 秒左右,而一般使用者等到 8 秒就會不耐煩了。
一個網站 15 秒開啟是完全不能接受的,甚至 8 秒都不太能接受。那麼如何解決這個問題? 不同的 Elementor 網站建設公司有著不同的解決方案,不同的方案需要的技術含量、時間、成本都不同。
我們從網站開啟的流程來說下都是有哪些問題需要解決:
1. 域名解析、 DNS
2. 伺服器響應
3. 瀏覽器快取
4. 檔案讀取
5. 檔案下載
首先,使用者在瀏覽器輸入域名並訪問,瀏覽器先查詢本機有沒有這條域名的解析記錄,如果有,就直接訪問,沒有,則需要去域名解析伺服器去查詢該域名對應伺服器的 IP 。
得到域名對應的伺服器 IP 後,再向該伺服器發起請求。伺服器接收到這個請求以後,再根據請求的不同,將結果也就是頁面原始碼返回給使用者。
使用者收到頁面原始碼,瀏覽器會根據原始碼的內容,判斷頁面所需要的內容是否已經在本地快取了。如果已經快取,就直接呼叫,如果沒有,就得再向伺服器發起請求,要求下載。
伺服器收到請求,會在去查詢該資源,讀取並返回。
本地瀏覽器獲取到頁面原始碼和頁面所需要的資源,進行計算渲染以後,就是我們看到的頁面了。