Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正确测量下载速度_Javascript_Ajax - Fatal编程技术网

Javascript 正确测量下载速度

Javascript 正确测量下载速度,javascript,ajax,Javascript,Ajax,为了测量客户端下载速度,我使用了一个对已知大小的文本文件的ajaxget调用,并使用javascript日期原型的getTime()函数来测量它花费了多长时间。我之所以选择它是因为它的简单性,但由于某些原因,它返回的数字比我使用speedtest.net得到的要慢得多。有没有更准确的方法 var ajaxTime = new Date().getTime(); var request = jQuery.ajax({ url: "/eventdata/(de

为了测量客户端下载速度,我使用了一个对已知大小的文本文件的ajaxget调用,并使用javascript日期原型的getTime()函数来测量它花费了多长时间。我之所以选择它是因为它的简单性,但由于某些原因,它返回的数字比我使用speedtest.net得到的要慢得多。有没有更准确的方法

var ajaxTime = new Date().getTime();
var request = jQuery.ajax({
                    url: "/eventdata/(default)/system_diagnostics/lorem.txt?s=" + ajaxTime,
                    type: "GET",
                    success: function(result) {//success
                        var totalTime = new Date().getTime()-ajaxTime;
                        var mbps = fileSize/(totalTime/1000);
                        mbps = mbps.toFixed(2);
                        nDLSpeedMbps = mbps;
其中fileSize是文本文件的大小(以MB为单位)


我能想到的唯一一件事是,浏览器正在做其他占用带宽的事情,但我不知道是什么。在同一页面上有一个上传测试(另一个ajax调用),但在下载ajax调用完成并计算出nDLSpeedMbps后,直到成功函数中的下一步才会启动。d/l速度不仅受客户端下载速度/带宽的影响,还有你正在下载的服务器的网络速度/带宽。这对我来说非常准确:。但问题可能是服务器带宽——JavaScript用户计时API应该提高持续时间测量的准确性——从而提高结果的准确性。我发现您发布的脚本很好。