尼日利亞開發(fā)者阿德瓦勒·奧盧塞貢(Adewale Olusegun)在拉各斯的公寓里盯著屏幕,Speedtest.net顯示他的下載速度是12Mbps。同一臺電腦,他剛寫的腳本測出來只有7Mbps。差距不是bug,是海底光纜的物理延遲——國際測速服務(wù)器在荷蘭,數(shù)據(jù)要繞半個地球。
這個發(fā)現(xiàn)讓他花了三年時間,造了一個只在尼日利亞境內(nèi)跑的服務(wù)器網(wǎng)絡(luò)。過程中踩的坑,比拉各斯的雨季馬路還多。
第一個坑:以為"買臺服務(wù)器就行"
2019年,奧盧塞貢在GitHub上開源了一個簡單的測速腳本。原理不復(fù)雜:用戶下載一個固定大小的文件,計算時間。他租了拉各斯本地數(shù)據(jù)中心的機柜,月付87美元,心想這事成了。
上線第一周,數(shù)據(jù)就臟了。
尼日利亞四大運營商(MTN、Airtel、Globacom、9mobile)的緩存策略完全不同。MTN把測速文件當(dāng)成了熱門視頻資源,全塞進邊緣節(jié)點,用戶測出來速度虛高300%。Airtel相反,對陌生域名限速,結(jié)果比實際慢一半。Globacom的DNS解析隨機分配到不同州的服務(wù)器,同一用戶連測三次,三個城市。
奧盧塞貢在開發(fā)者論壇吐槽:「測速工具最怕的不是慢,是測不準(zhǔn)。用戶拿著假數(shù)據(jù)去投訴運營商,運營商說我的工具是垃圾。」
他花了八個月重寫核心邏輯。不再下載固定文件,改為動態(tài)生成隨機數(shù)據(jù)流,繞過緩存。加入地理位置校驗,比對IP庫和GPS坐標(biāo)。最狠的一招:同時向三個不同運營商的DNS發(fā)起解析,取中位數(shù)。
代碼量從200行漲到4000行,準(zhǔn)確率從 coin flip(拋硬幣)提升到能用的程度。
第二個坑:電力比代碼更難搞
尼日利亞電網(wǎng)平均每天停電14小時。奧盧塞貢的服務(wù)器托管在"高端"數(shù)據(jù)中心,承諾99.9%在線率——靠的是柴油發(fā)電機。
發(fā)電機有延遲。切換時30秒到2分鐘的無電窗口,服務(wù)器重啟,正在進行的測速會話全部中斷。用戶看到的是"連接失敗",不是真實的網(wǎng)絡(luò)問題。
他試過UPS(不間斷電源),但拉各斯的高溫讓電池壽命只有標(biāo)稱的三分之一。換過鋰電池,成本翻五倍。最后方案是寫了一個狀態(tài)機:檢測到斷電信號后,立即凍結(jié)所有新請求,把進行中的測速數(shù)據(jù)異步寫入本地,來電后批量上傳。
「代碼里30%的邏輯在處理電的問題,」他在2021年的技術(shù)分享會上說,「這在硅谷是不可想象的。」
更魔幻的是網(wǎng)絡(luò)本身的電力依賴。2022年尼日利亞發(fā)生全國性電網(wǎng)崩潰,他的測速數(shù)據(jù)在當(dāng)天出現(xiàn)了一個詭異峰值——不是因為網(wǎng)速變快,是能用上電的人少了,帶寬被少數(shù)人瓜分。
第三個坑:國際標(biāo)準(zhǔn)的本土失效
奧盧塞貢最初照搬Ookla(Speedtest.net母公司)的 methodology(方法論):找一臺高性能服務(wù)器,測下載、上傳、ping三項。在尼日利亞,這套邏輯漏掉了最關(guān)鍵的東西。
本地運營商普遍采用"burst mode"(突發(fā)模式)。用戶剛開始下載時,帶寬全開,10秒后斷崖式下跌。國際標(biāo)準(zhǔn)測速取的是穩(wěn)定值,但尼日利亞用戶真實的上網(wǎng)體驗,是前10秒的幻覺。
他改了算法:連續(xù)采樣60秒,畫出整條曲線,標(biāo)注出"峰值速度"和"可持續(xù)速度"。這個改動讓運營商很不爽——廣告里寫的"最高100Mbps"被工具拆解成了"峰值95Mbps,持續(xù)12Mbps"。
有運營商法務(wù)部發(fā)函,稱他的數(shù)據(jù)"誤導(dǎo)消費者"。奧盧塞貢把原始數(shù)據(jù)包公開,邀請第三方審計。對峙三個月后,對方撤回了投訴。
另一個本土特有問題:移動數(shù)據(jù)vs寬帶的混淆。尼日利亞70%網(wǎng)民只用手機上網(wǎng),但國際測速工具默認(rèn)測試的是"寬帶體驗"。奧盧塞貢加入了網(wǎng)絡(luò)類型檢測,在結(jié)果頁明確標(biāo)注"4G/LTE"或"光纖",并建立兩套基準(zhǔn)數(shù)據(jù)庫。
意外的副產(chǎn)品:一張真實的非洲網(wǎng)速地圖
到2023年,他的測速網(wǎng)絡(luò)覆蓋了尼日利亞全部36個州,部署了23個邊緣節(jié)點。數(shù)據(jù)積累到一個臨界點:他開始畫出一張國際工具從未呈現(xiàn)過的圖景。
拉各斯維多利亞島的平均下載速度是阿布賈的2.3倍,但延遲反而更高——因為國際出口集中在拉各斯,本地流量要繞遠(yuǎn)路。卡諾州的4G覆蓋率在官方數(shù)據(jù)里是89%,實測有效連接率只有34%,"覆蓋"的定義是"信號格數(shù)≥1"。
最反直覺的發(fā)現(xiàn):晚上8點到11點的"黃金時段",網(wǎng)速比凌晨慢60%,不是因為擁塞,是發(fā)電機噪音。基站靠柴油供電,夜間電價上漲,運營商主動降功率省成本。
這些細(xì)節(jié)被整理成季度報告,成為尼日利亞通信委員會(NCC)修訂行業(yè)標(biāo)準(zhǔn)的參考材料之一。奧盧塞貢從一個"做工具的"變成了"有數(shù)據(jù)的"。
2024年初,他的項目拿到一筆來自非洲科技基金的種子輪投資,金額未公開。團隊從1人擴充到7人,開始復(fù)制模式到加納和肯尼亞。新挑戰(zhàn)隨之而來:肯尼亞的M-Pesa支付生態(tài)讓測速工具必須支持"買流量包再測速"的場景,否則用戶測一次花掉半天工資。
奧盧塞貢最近在推特上發(fā)了一張截圖:他的工具測出的尼日利亞全國平均下載速度,比Speedtest.net的數(shù)據(jù)低41%。評論區(qū)有人問他,哪個更準(zhǔn)。他回復(fù):「取決于你想知道'尼日利亞連向世界有多快',還是'尼日利亞人實際上網(wǎng)有多快'。」
這個問題,國際工具從來沒問過。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.