+ -
当前位置:首页 → 问答吧 → 求高手解答网站服务器测速问题

求高手解答网站服务器测速问题

时间:2011-09-28

来源:互联网

知道各个服务器IP,客户端想在网站上实现测速,有点像证券行情或交易软件上的那种服务器测速,看哪个最快。不知道用ping能不能实现?用下面这种方法,测出来和实际不符合(快的花的时间反而比较长)。请问有没有哪位大师知道有其他更好的办法且准确的方法(注:一定要在网页上实现运行)或者像移动邮箱登录测速的那种代码实现。谁能解答下吗

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> New Document </title>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
 </head>

 <body>
  <script>
  tim=1;
  //每0.1s tim++
  setInterval("tim++",100);
  b=1;
  //定义数组存放访问站点域名或IP
  var autourl=new Array();
  autourl[1]="125.46.92.51";
  autourl[2]="222.73.228.210";
  autourl[3]="58.251.39.41";
  autourl[4]="218.18.103.38";
  autourl[5]="210.22.9.241";

  function butt(){
  document.write("<form name=autof>");
  //循环提交数据报头,进行HTTP请求
  for(var i=1;i<autourl.length;i++)

  document.write("<input type=text name=url"+i+" size=40> <input type=text name=txt"+i+" size=10 value=测试中……> <br> ");
  document.write("<input type=submit value=刷新></form>");
  }

  butt();

  //循环对每个站点访问时间计时
  function auto(url){

  document.forms[0]["url"+b].value = url ;
   
  if(tim>200)
  {
  document.forms[0]["txt"+b].value="链接超时";
  }
  else
  {
  document.forms[0]["txt"+b].value="时间"+tim/10+"秒";
  }
  b++;
  }
   
  //循环打印计时结果
  function run()
  {
  for(var i=1;i<autourl.length;i++)

  document.write("<img src=http://"+autourl[i]+"/"+Math.random()+" width=1 height=1 onerror=auto('http://"+autourl[i]+"')>");
  }
   
  run();

  </script>
 </body>
</html>


作者: piaofeer   发布时间: 2011-09-28

哥们回帖有分啊

作者: liju123456   发布时间: 2011-10-14

很简单的方式,是在不同线路的服务器上各放置一个10几M的测试文件,然后提供链接,让用户点击下载文件,用户自然可以观察到下载速度,虽然下载速度不代表全面的速度,但大体也比较有代表和说服力了。

作者: theforever   发布时间: 2011-10-14

如果是想实现自动化测速然后自动选择最快的服务器进行登录连接,也可以同样方法,只不过文件体积小一点,几十K,然后用AJAX获取,相当于自动下载文件。在此前后各取一下时间进行运算得到时间差,然后比较得到最小那个,并取其对应的服务器IP即可。

至于楼主这个完全不可靠,直接作废,不用想了。

作者: theforever   发布时间: 2011-10-14