我想要一些本地的东西,我可以用来测量我的互联网速度,而不是总是去http://www.speedtest.net。因此,我发现这脚本概述如下:
int jQueryFileSize = 261; //Size of File in KB.
WebClient client = new WebClient();
DateTime startTime = DateTime.Now;
client.DownloadFile("http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.js", Server.MapPath("~/jQuery.js"));
DateTime endTime = DateTime.Now;
speeds[i] = Math.Round((jQueryFileSize / (endTime - startTime).TotalSeconds));使用这个脚本,我平均得到2800-3600 KB/s,但是当我进入速度测试网站时,我得到了73-74 Mbps (这就是我要花钱买的,而且我在我的急流下载中也越来越接近这个数字)。很明显,6行代码很难像整个企业那样能正常工作,但对我来说,要想在本地获得上网速度并不是不可能的。我正在破坏本地主机.net网站上的脚本。
那么,为什么这个脚本不能正常工作呢?,是因为文件不够大,下载速度太快,没有时间达到我的internet所能达到的实际速度? (类似于洪流下载,在那里我开始很慢,然后转到5-7 7Mbps。)
发布于 2016-04-30 20:10:20
SpeedTest检查大型(多兆字节)文件,因为一个小文件(如缩小的、压缩的jQuery)由于HTTPS协商、TCP开销等原因无法反映您的全速。
发布于 2016-04-30 20:12:12
两件事。首先,您的测试似乎得到了22.4-28 Mbps (而不是MBps),这与您的73/74与Speedtest.Net (假设这是您正在使用的)相差不远。
其次,您正在下载的文件相当小(小于0.3MB),而且任何下载请求(创建请求和发送请求)都需要开销。尝试一个更大的文件,我想你的计算会更接近。
此外,您还可以将代码调整为MBps而不是Mbps。
https://stackoverflow.com/questions/36959678
复制相似问题