社区
基础编程
帖子详情
怎样用PHP写个测试从用户到WEB服务器带宽的代码????
zhuaibing
2003-11-12 11:03:49
怎样用PHP写个测试从用户到WEB服务器带宽的代码????
...全文
100
5
打赏
收藏
怎样用PHP写个测试从用户到WEB服务器带宽的代码????
怎样用PHP写个测试从用户到WEB服务器带宽的代码????
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhuaibing
2003-11-13
打赏
举报
回复
谢谢!
谢谢网上的朋友!!!!
feel8
2003-11-12
打赏
举报
回复
mark
春哥视角
2003-11-12
打赏
举报
回复
更正:IMG标记部分多了个单引号,应该是:
<img src=images/62816bytes.gif?hahaha=<?=time()?> width='1' height='1' onload='CalcSpeed(timeStart);'>
春哥视角
2003-11-12
打赏
举报
回复
鸣谢:http://aspeedtest.com
春哥视角
2003-11-12
打赏
举报
回复
实际上这个很简单的,用任何语言都能实现,主要的奥秘是在JAVASCRIPT中。
思路是:加载一个比较大的图片,在开始时用JAVASCRIPT记录一下时间,加载完毕后再记录一下时间,图片大小是已知的,开始时间和结束时间已是已知的,呵呵,计算带宽就是小学数学问题了。
具体做法如下:
testspeed.php
<script language="JavaScript">
<!-- hide script
function RightNow()
{
var time;
time = new Date();
return time.getTime();
}
function CalcSpeed(timeStart)
{
var timeEnd, timeElapsed, kbytes;
timeEnd = RightNow();
timeElapsed = (timeEnd - timeStart)/1000 - 0.15;
kbytes = 61/timeElapsed
document.forms[0].kbytes.value = kbytes;
document.forms[0].submit();
}
// end hide script -->
</script>
Testing.....
<!-- ***** SCRIPT: GET TIME 取开始时间***** -->
<script language="JavaScript">
<!-- hide script
timeStart = RightNow();
// end hide script -->
</script>
<!-- ***** IMAGE TO DOWNLOAD ***** -->
<img src=images/62816bytes.gif‘width='1' height='1' onload='CalcSpeed(timeStart);'><br>
<!-- ***** FORM ***** -->
<form action="speedTestResults.php" method="post">
<input type="hidden" name="kbytes" value="">
</form>
<!-- ***** END FORM ***** -->
这段程序的关键点在于利用img的onload事件,onload事件在图片加载完毕后触发,然后通过CalcSpeed函数计算下载速率并提交到结果显示页speedTestResults.php。
本例中我用了一个62816字节的白色图片进行下载测试。
当然,看上去可以了,但并不是完美无缺!上面程序在第一次运行时正常,但第二次运行......下载速率超过10M!!!就是你用小猫上网也一样,是小猫变成了老虎?呵呵,不要高兴得太早,小猫还是小猫,是变不成老虎的,这是因为浏览器的缓存帮了倒忙,第二次运行时该图片就在缓存中,浏览器就会直接从你的硬盘上读取,实际上你测试的是硬盘的读取速度!
那么怎么解决这个问题呢,很简单,在图片后写一串随机的query string就可以了。这样就可以骗过浏览器啦!
OK,我们把图片那段改成这样:
<img src=images/62816bytes.gif?hahaha=<?=time()?>‘width='1' height='1' onload='CalcSpeed(timeStart);'>
哼哼!小猫的原形就露出来啦!
lua-nginx-openresty-redis 详细案例源码
Nginx高性能
WEB
服务器
详解 Nginx高并发系统内核优化和
PHP
7配置文件优化 Nginx和
PHP
-FPM启动脚本 Nginx的11个Phases agentzh 的 Nginx 教程 Nginx 陷阱和常见错误 TCP和UDP负载平衡官方参考文档 Nginx 高并发...
Apache的压力
测试
以及
web
性能优化的常用知识总结
什么是
带宽
? 误解:“数据在线路中的移动速度”、“数据的传输速度” 我们所说的
带宽
是指数据的发送速度,比如百兆网卡,指网卡的最大发送速度是100Mbps,也就是说网卡在一秒钟最多可以发送100Mb的数据;相关的因素...
网站域名与云
服务器
②网络
带宽
介绍与测速 ③云
服务器
购买技巧与购买演示### 第3课 域名解析 ①域名解析原理 ②域名解析设置### 第4课 云...
PHP
中如何提升
Web
服务器
的性能?
通过
代码
优化、缓存机制、
服务器
配置以及其他优化措施的综合应用,我们可以有效地提升
Web
服务器
的性能,为
用户
提供更好的体验。页面缓存是一种常见的性能优化手段,它将生成的页面结果缓存起来,当
用户
再次请求相同...
如何在多台
web
服务器
上共享session?
比如:现在有三台
php
服务器
,且实现了...同一个
用户
登录后,就会将session保存在某个
web
服务器
上,假设是保存在
服务器
A上,该
用户
访问网站的其他页面时,可能请求的就是
服务器
B或
服务器
C,但
服务器
B或
服务器
C上并没有该
基础编程
21,886
社区成员
140,364
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章