荒野悲歌提示您:看後求收藏(第698章 如何提高網頁的載入速度?,大時代之巔,荒野悲歌,試讀吧),接著再看更方便。
請關閉瀏覽器的閱讀/暢讀/小說模式並且關閉廣告遮蔽過濾功能,避免出現內容無法顯示或者段落錯亂。
周大老闆很高興,“國內像朋友網這樣的大站還有不少,比如QQ空間,那面板設計的花裡胡哨,載入進去得10秒鐘。還有淘寶,那麼多商品圖片,想開啟網頁也非常緩慢。咱們要幫幫同行啊!”
張一明潑了冷水,“這事沒那麼容易,涉及到很多方面。”
“怎麼回事?”
“這事技術委員會討論過,可以讓搜尋業務、瀏覽器業務跟朋友網同步進行,三個專案同時啟動,彼此聯動。可專案資金有點大,被否了。”
然後,張一明就簡單的解釋了這其中的原理。
網頁的載入過程,背後的邏輯並不簡單。
使用者需要透過瀏覽器,跟網站進行“握手”互動,獲得網站許可了,就進入網站伺服器,提取其網站資料。
然後把資料渲染出來,就變成呈現在使用者螢幕前的網頁了。
提取的資料,如果是線性的,那麼網線的呈現方式就是一個模組接著一個模組的傳統方式。如果並行的提取,是分散式的,網站的載入就可以像瀑布那樣的從上到下,很迅速。
可這技術別人都沒有。
而且,這也只是網頁載入提速的一部分。
這個過程中,瀏覽器需要跟網站履行一系列的網路協議,三次握手、四次握手,協議達成了之後,才能開始提取資料。
過程太繁瑣。
如果能簡化這個流程,網頁載入速度就能提高。
還有,瀏覽器和網站伺服器是順序、線性執行的關係,伺服器必須等待瀏覽器的請求,這樣就會造成伺服器的空閒。瀏覽器工作時,伺服器在等待,而伺服器工作時,瀏覽器在等待,這也是一種時間上的浪費。
假如雙方能同時工作、並行工作,就可以提高速度。
並行就是分散式。
第三點,使用者在使用網站的過程中,就是瀏覽器和網站伺服器互動的過程,這個期間需要不停的傳送訊號,瀏覽器申請、伺服器允許,申請、允許,申請、允許……不停的握手,不停的互動。
如果把後續的這些過程儘可能的省略,減少伺服器傳送請求,就可以大大的節省網站伺服器的負載,帶來效能上的提升……
周不器聽得雲山霧罩,可大體上是聽懂了。
就是網頁的讀取過程太複雜,背後涉及到太多的網路協議。要想改變這種情況,除了改善網站自身的資訊供給方式外,就要修改舊的網路協議,或者想辦法透過技術手段繞開。
張一明道:“目前是web2.0時代,核心技術是AJAX,有一定的技術門檻。現在的主流網站,一般都使用這個技術。盜版網站之所以載入速度慢,除了伺服器差之外,很大原因是沒有這個AJAX。”
“哦。”
周不器呆呆地。
張一明又道:“可是隨著時代的發展,AJAX技術也有些跟不上時代。有資料統計過,開啟一個網頁,平均要耗時4.5秒鐘,這太難以接受了。必須出現新的技術手段替代傳統方案,分散式就是機會。”
周不器對技術很感興趣,可是又聽不太懂,很有一種清晨看黃山的感覺,霧茫茫的一片美好,宛若仙境。
這大概就是外行的好處。
因為離著遠,所以覺得特別美好,就心甘情願地願意買票進場。要真是內部人士了,知道登山那麼難,恐怕白給他門票,都懶得去參觀。
除非是真正的登山愛好者,有著發自內省的興趣和追求。
“你就說怎麼做吧?”
“這次一共申請了9個相關的專案,我覺得這朋友網、搜尋和瀏覽器的這三個專案,有必要儘快啟動。”
“哦?”
“朋友網這個說過了,搜尋的專案……就是微點搜尋做的一個網站最佳化。傳統的開啟網頁的方式,是瀏覽器直接去網頁伺服器採集資料,這個過程中有大量協議。如果讓微點搜尋組建一個部門,把網站備份過來。使用者在使用微點搜尋的時候,就不需要再去訪問網站伺服器了,而是直接可以從我們的備份庫中讀取,就相當於繞開了協議。”
周不器試探著說:“也節省了從搜尋引擎向外站跳轉的時間?”
張一明笑道:“對!使用者使用微點搜尋,其實就進入了微點的伺服器。直接在微點的伺服器裡讀取備份的網頁,效率就更高了。”
周不器點了點頭,“嗯,有意思。”
張一明道:“很多網站技術不夠,做不到分散式。可把備份放在微點的伺服器裡,就可以分散式讀取了。速度就更快了。而且,還有商業化前景。”
“是嗎?”
“可以跟網站合作,作為微點的一種推廣服務。商家肯定也希望自己的網站能夠更快地呈現在使用者的電腦螢幕前。他們的技術不夠,就可以跟微點合作,交一筆錢,把網站文字資訊備份在我們的伺服器裡,相當於我們幫他們做最佳化。”
周不器若有所思的道:“不僅如此,參與了該專案的商家,在同等條件下,網站權重可以更高一些,在搜尋結果中排在更高的位置。”
張一明笑道:“對,就這個意思。”
周不器奇怪,“既然是商務專案,還被王浩陽否了?”
張一明很無奈的道:“要買大容量的伺服器啊,這個專案的預估投資是5000萬。朋友網的專案資金才2000萬。”
“那瀏覽器的專案呢?”
“改變協議不可能,可是我們可以透過分散式技術最佳化瀏覽器和伺服器握手的過程,取消等待時間,讓雙方同時工作。如果做到了,那麼使用微點瀏覽器開啟網頁,效率至少能再提高20%左右。”
周不器虛心的問:“用分散式互動,可以提高瀏覽器對網頁的渲染速度?”
張一明道:“對!”
這一下,周不器就懂了。
難怪一代王者IE瀏覽器會敗在谷歌瀏覽器的手下,最終放棄了自家的瀏覽器核心,而選擇了谷歌核心。
這其中的關鍵因素就是分散式啊。
谷歌是分散式的祖師爺,在這個領域擁有最強實力。分散式技術厲害了,其瀏覽器核心自然就會更加強大。
谷歌瀏覽器打敗IE,完全是技術上的碾壓,哪怕IE有Windows系統做捆綁都沒用。
谷歌瀏覽器目前還沒誕生,微點瀏覽器只能使用IE核心,可以透過分散式技術進行一定的最佳化。
這三個專案做下來……是遞進式的。
朋友網的專案,最佳化自身網站的載入速度;
微點搜尋的專案,最佳化合作網站的網頁載入速度;
瀏覽器專案,最佳化所有使用微點系瀏覽器的網頁載入速度。
很有意義啊!
周不器忍不住問:“假如這三個專案都做成了,使用者透過微點瀏覽器,透過微點搜尋來使用朋友網,需要多少時間?”
“大約……效率能提升50%。目前朋友網的平均載入速度將近4秒鐘,都做成了,可以縮短到2秒鐘。”
“啊?”周不器有些失望,感覺也高不到哪去,“不是說朋友網自己的專案,載入時間就只是傳統模式的20%嗎?”
張一明笑道:“這不是一個概念,朋友網的專案,只是載入的先後順序變了,先載入呈現給使用者的第1屏的內容,總體載入時間沒有變化。只是給使用者的印象,好像是載入時間變快了。”
周不器想明白了什麼,“是不是載入完了第1屏的內容,使用者們只能看,卻沒法用?必須要等全部頁面載入完了之後,才能真正地使用?”
張一明道:“對,是這樣。”
在這種模式下,使用者開啟朋友網,前兩秒鐘的時間是隻能瀏覽、只能看。因為頁面還在載入過程中。等全部載入完畢了,使用者才能發表狀態、回覆留言之類的互動操作。
周不器皺皺眉,“可不可以進一步的升級,第1屏的內容載入完畢了,使用者就可以對第1屏的內容進行操作。操作和載入互不影響。不是分散式嗎?並行著一起來啊,不耽誤吧?”
張一明沉默了好一會兒,“理論上來講,是可以做的。不過目前來看,技術上有難度。”
“做不出來?”
“把網頁不同的功能模組並行載入,其實都屬於載入模組。可互動和載入是兩個相矛盾的模組,有先後關係。如果把這兩塊並行起來,需要對網頁底層框架進行修改。技術難度大,工程量也大。”
“多久能做出來?”
張一明道:“我覺得得一步步來,分散式演算法的應用大家都是第一次接觸,先從簡單的做,再向更難的去研究。首先得有資金上的保障。”
周不器笑道:“你話中有話啊!”
張一明感慨道:“我覺得這三個專案很重要,有必要第一時間啟動。分散式是世界前沿的技術,我們卻做出來了。工程師們都很興奮,在躍躍欲試。我覺得不能拖的太久,冷卻了大家的熱情。”
“不就是要錢嘛。”
“當然,我很尊重公司的決定。融資在即,的確不適合有大手筆的支出。”
周不器稍作沉吟,問道:“這三個專案,需要多少錢?”
張一明道:“朋友網2000萬就夠了,王浩陽也批准了。瀏覽器專案需要3000萬,微點搜尋的專案需要5000萬。後兩個都沒批。”
周不器好笑道:“這個老王,批了一個花錢最少的專案來填技術委員會的胃口,真是……行了,我這就給他打電話,讓他馬上給錢!1個億隻是個小目標,我還不差這點錢!”
本章未完,點選下一頁繼續閱讀。