網路城邦
上一篇 回創作列表 下一篇   字體:
嗯~網路的速度
2019/01/25 19:09:16瀏覽2312|回應1|推薦4

5G是目前很熱的一個主題。

傻蛋當然要來潑潑冷水啦!

 

傻蛋接過中華電信的推銷電話廣告好幾次。

把目前的光世代由60M升級到100M,費用只增加約一成喔!

如果就費用比例來看,似乎很划算。

但傻蛋並沒有一絲一毫的心動呀!

 

為什麼?

 

首先呢,60M的頻寬已經很夠用了,很少能用到上限頻寬。

其次,當網路速度慢的時候,慢的,也不是自己這邊頻寬不夠,而是網站服務器端的頻寬或運算處理能力有瓶頸。

所以說呢,當視頻網站在Lag的時候,是用戶加頻寬能改善嗎?

不是,是提供視頻服務的供應商要加頻寬。

以前傻蛋只有碰過一次加頻寬感覺很明顯的。

那是由2M升級到50M的時候,喔,主要的不是下載的頻寬,而是上傳頻寬增加。

那時候玩一個網路遊戲,不知道遊戲開發商是怎樣,搞出很自虐的設計,有一個技能組合,可以每秒鐘做廿次攻擊判定。

對啊,一秒砍20刀。

然而實際上呢,通常能砍個四五刀就很好了。

有種卡住的感覺。

上傳頻寬大幅加大後,真的能一秒砍廿下,那一排黏在一起的數字飄出來,真的是蠻爽的啦。

但除此之外,網路的使用,通常覺得慢,都和自己的網速沒多少關係。

忙的都是服務器端,和客戶端影響不大。

所以呢,這個再升級看起來好像有性價比,但其實只是浪費錢而已。

 

速度這回事,是連線雙方的事。

自己這邊的瀏覽器或應用程式客戶端和服務器主機建立連線。

我的下載速度主要取決於對方主機的上傳速度。

我的上傳和對方的下載速度有關。

對方上傳速度已飽和,我的下載頻寬空閒再多,也派不上用場,不會變快。

我的上傳頻寬不夠,對方的下載頻寬剩再多,速度也同樣快不起來。

當然還有些複雜點的,如有些中繼服務器會提供緩存快取機制。

同樣的靜態內容請求,如果快取有,可以不用去主機請求,那,就會感覺變快。

但這些網路速度的快慢,雖然我們當用戶的都是用感覺的,常常對緩慢的操作覺得無可奈何,但這些快慢不是巫術也不是靠念力,而是有物理的客觀限制的。

當有爛程式或是病毒在偷偷傳送一堆有的沒有的數據,偷偷占掉的頻寬,會拖累網路速度,拖累多少,就是看傳輸的頻率與資料量。

 

好,那回來,想想5G

 

5G不就是說約快10倍嗎?

但,這個快10倍要怎麼實現?

人人換5G手機就會快10倍?

當然不是。

而是整個網路的基礎建設都要提升,水管都整個變粗,整個速度才會變快。

嫌奇摩新聞速度慢會Lag,嫌奇摩股市不穩定常常故障,喔,換5G網路有差嗎?

如果5G網路能讓雅虎的單位頻寬成本大幅降低,那,或許在同樣的預算下,服務的品質和連線的速度就會改善了。

如果成本沒有降低多少,那會不會變快?

雅虎若願意為了各個免費服務的用戶體驗提升花更多成本,加服務器與加頻寬,嘿,即使沒有5G,砸錢還是能夠提升體驗的喔!

當然啦,看新聞看股票感覺不出來,看線上視頻就差很多吧?

一直轉圈圈,受不了,買高級會員權限,配給你比較好的連線資源,才能改善。

這和你的手機是不是5G,關係恐怕不大。

服務商手頭緊,在緊縮成本時,有限的頻寬給很多用戶平分,慢就是正常的。

而更多時候,速度慢的原因還不是頻寬,而是服務器的處理能力不夠。

大家在排隊等待服務回應,自然就感覺超Lag

5G當然沒用,服務商加頻寬加機器才是解決之道。

簡單說就是要花錢,花誰的錢而已。

 

所以呢?

5G是新標準,是新的基礎設施。

誰出錢?

誰收錢?

其實,有時候這個世界是不那麼公平的。

互聯網爆發的時代,依賴的是網路基礎設施的全面提升。

錢誰花的?

在台灣,大約是中華電信吧,網路節點與中繼服務器,就是中華電信要養的。

我們的電腦連線到美國的網站,可不是直接透過一個想像中的網路,直接連過去的。

而是找節點的服務器,一層一層連過去的。

那些中繼的設備,也要電力供應,也要設備購置與維修。

誰出錢的?

網路供應商,通常是電信業者出的吧。

但得到最大好處的不見得是出錢的單位。

實際上,連線,不管是光纖海纜還衛星微波,都需要基礎設施來提供網路服務。

能支撐的速度和技術水平有關,但速度不是一個5G概念就能搞定的。

技術出來了,成熟了,基礎設施沒有完善,一樣沒有用。

速度不是看平均,而是由最慢的一環決定。

 

還不僅僅是這樣喔。

傻蛋之前曾經想開發一個,類似Slack的管理應用工具。

那時候就有想過,一個線上聊天室,最多能支持多少人同時連線。

有想過,能製作百萬人的聊天室嗎?

實際上不可能,也不切實際。

一人一句話,瞬間刷屏,我們什麼也看不到。

別說百萬人,只要一百個活躍的人,共用同一個聊天頻道,那就夠亂了。

唯一的解決方式是,多開幾個小房間,有興趣的人,自己去小房間聊,才不會互相干擾。

但值得思考的,如何讓多人聊天室的訊息能夠一致?

要時時刷新最新的發言,有兩種方式,要不是大家都連同一個主機,並時時都去主機詢問有無新的發言要更新,不然就是由主機主動向所有收聽者時時推送,一有新訊息就全部推送。

或許還有一條路徑,是不經過主機,而是由你的應用程式直接對同聊天室的其他成員設備做連線推送。

有沒有想到一個可怕的問題?

如果是全部向主機頻繁的請求,那主機服務的壓力有多大?

實際上,現在的主機運算與處理回應能力是超級強的了。

但這些機器也常常被狠狠的操到死啊。

隨著同時服務的人數增加,主機很容易達到瓶頸。

更好的主機,能支撐更大的容量,但往往性價比不好。

所以像Slack那樣會設法限制同一個群組的人數上限,其實是有成本考量的。

如果有一萬人訂閱同一個聊天室,那個聊天室的連線負擔自然很嚴重。

那如果不要用集中連線,而是用P2P,跳過主機呢?

對,那麼主機就不會負荷那麼重了,但想想喔,十個人互相連線,和一百個人互相連線,成本是增加十倍嗎?

每增加一個節點,就要和現有全部節點產生新連線不是?

所以成本會隨規模變大,而加速成長。

所以即時聊天室不管用什麼方案,都支撐不了太高的人數,因為成本不是遞減,而是遞增吧。

 

傻蛋當時想到這個議題,也只想到用樹狀組織讓節點分層那樣來應付。

就像軍隊的組織一樣,一個將軍不可能同時指揮百萬大軍。

軍令需要層層往下傳達。

規模越大,就需要分越多層,才能維持效率。

所以如果要由一個節點控制大量的其他節點,就需要這樣階層的結構設計,來滿足節點增加時連線需求暴增的問題。

例如,十個(反正是一個數字啦)節點以內,只有一層,由一個主節點當服務器。

超過十個節點,則開始自動分層。

每一個節點最多只和一層數量的上層和下層直接連線。

一個聊天室任務,每個節點,只向自己的上層發送新訊息,只接受上層提供的新訊息。

身為上層節點,只接受有限數量的下層節點,若超過,則下層節點升級,下面再掛更下層的節點。

用這種組織方式,或許能夠讓一個主控中心集中控制百萬個單位的運作了吧。

或許會有更好的方法,但,無論如何,要透過網路控制大量的設備,就是會有這種複雜度的存在。

一台電腦同時和上百萬個設備建立網路連線,這本身就是受到物理限制的。

不是喊個5G萬歲,就能自動解決的。

 

那麼,5G的下一個預期成就,工業物聯網,又如何?

如果所有設備都轉化為網路資源被連線起來的話,互相連線的消耗,以及一個設備連線對像上限的限制,同樣也是需要設法解決的。

當然這有許多現成的P2P技術可以參考了。

但要一口氣增加大量被連線控制的設備資源,那個成本負擔也不是笑笑就解決的。

雖說現在軟硬體技術好像發展得很不錯,但,那麼慢得讓人髮指的服務,不還是到處都是?

遊戲,超Lag,熱門網站,也是常常就突然很慢很慢。

一些省成本的公共服務,網站慢是剛剛好,也不知道是程式寫太爛還是怎樣。

要快就是要加錢,想省錢的服務供應商,自然就會摳,大家就會被迫訓練耐性啊!

現在都是這樣了。

想像一下,如果所有電子設備,全部都連網喔!

如果基礎設施沒有突破性的發展,會慢成什麼鬼樣子?

 

但反過來看,如果沒有必要,沒有價值的消耗都加以排除的話,那又如何?

聊天室本就不需要上萬人即時聊天啊!

真的需要即時控制的,只要抓關鍵的部分出來就好了吧?

另外,不要容忍爛程式爛品質,很多系統之所以慢,往往和想像的不一樣。

因為做了很多事,要花五秒鐘是合理的?

傻蛋有習慣在自己寫的程式有感覺得出來的頓的時候,會埋各個執行節點的執行時間。

說真的,會慢的程式,大多數都是因為愚蠢的錯誤,在莫名其妙的地方浪費了時間的。

感覺需要做很多處理,就是需要花不少時間的運算,那些提供主要功能與商業邏輯需求的部分,常常都是咻一下就完成了,大部分的時間都是浪費在奇怪的地方。

當網路變得越大,環境變得越複雜,如果還是繼續保持現在這種垃圾級的應用程式平均水準,很難想像未來世界會是怎樣詭異的體驗。

 

所以呢,加上一些基礎設施擴充提升的成本,4G5G,初期可能也就像60M提速到100M那般,有點雞肋而已。

投入成本很大,整體效益卻不到十倍,還有未知的風險在喔,5G與通訊品質速度的提升進化雖然是必然與必要的,但大概不會如那些一頭熱的投資人想像的那樣有魔法喔!

( 不分類不分類 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=pondin&aid=124348819

 回應文章

Wadashitach
2019/01/25 21:03
想想十幾年前的固網,幾人真從中華電搬家了?最後不是一間間倒