测速网站是什么工作原理,服务器怎么扛住大量用户同时测速的巨大流量的

148 天前
 UserName99
对于一些热门测速网站来说,虽然可以有多个测速节点,但是相对于所有可能要测速的用户来说每个节点还是要面对大量用户,总会有机会出现同一个节点同时有很多人测速的情况。现在家庭带宽普遍比较高了,假设某个节点同一时间有 10 个千兆宽带用户测速,服务端要想正常测速带宽得大于客户端才行,那服务端就得万兆带宽才行了,而且当并发大于 10 个人时还会更大。如果服务器真的是万兆带宽那成本会很高,测速又是免费的,感觉不太可能是这样的,所以实际上测速网站是怎么工作的呢。
还有一个问题,测速时测下行是直接从服务器下载一个大文件吗,如果是这样,那测上行时上传的文件又是从哪来的。
3553 次点击
所在节点    宽带症候群
6 条回复
geekvcn
148 天前
国内测速节点一般是运营商的,口子想给多大给多大,但是由于最近需要省结算费用了,外省跑别的省的节点可能被限速 1Mbps 。欧美数据中心对等互联,对于 IDC 来说口子并不是那么值钱,所以很多赞助节点。国内商宽价格非常高,所以基本没除运营商之外的测速节点。具体测试是用什么协议不能一概而论,但是网页测试基本用的 websocket 。https://github.com/openspeedtest/Speed-Test 自己读源码
longlonglanguage
148 天前
应该是和运行商有合作吧,要不然就是 cdn 节点。至于上传比较简单,随机内容生成就行了,反正服务器也没真的准备接收,对多个服务器节点上传,app 再对这些多个线程网速汇总就行了。我个人理解是这样的。
totoro625
148 天前
“服务端要想正常测速带宽得大于客户端才行”

小于也不是不行,也就是测不出来最大网速罢了,可以多弄几个服务端并发

test.ustc.edu.cn 而言,大部分测速的人宽带都很低的,跑不满
onion83
147 天前
你们看看源代码就知道了,包括 speedtest.net 或者主流的测速程序,后端就是用 php 写的( https://github.com/bg6cq/speedtest/tree/master/backend ),核心代码 67 行,文件名被命名为:garbage.php 每天真承受百亿流量,却被承受各种 “低性能的、落后的、垃圾语言”的侮辱。
kanepan19
146 天前
@onion83 人家关心的是带宽够不够, 没讨论执行效率。
onion83
146 天前
@kanepan19

关于带宽: https://www.v2ex.com/t/1053729?p=1#r_14932666
关于原理:测速原理非常简单,不一定需要一个实体的静态文件。下载时客户端计算时间内收到字节数(服务器不开 gzip 压缩,输出随机字符串),上传时候服务器计算单位时间接收到的字节数即可。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1053603

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX